[sql] 서브쿼리에서 조건 연산자의 활용 방법

보통 서브쿼리에서 조건 연산자는 주로 IN, NOT IN, EXISTS, NOT EXISTS와 같은 연산자들을 사용합니다.

IN 연산자

IN 연산자는 서브쿼리의 결과가 여러 값 중 하나와 일치하는 경우를 판별합니다. 아래는 IN 연산자의 예시입니다.

SELECT id, name 
FROM table1
WHERE id IN (SELECT id FROM table2 WHERE condition);

NOT IN 연산자

NOT IN 연산자는 서브쿼리의 결과와 일치하지 않는 경우를 판별합니다. 아래는 NOT IN 연산자의 예시입니다.

SELECT id, name 
FROM table1
WHERE id NOT IN (SELECT id FROM table2 WHERE condition);

EXISTS 연산자

EXISTS 연산자는 서브쿼리의 결과가 존재하는 경우를 판별합니다. 아래는 EXISTS 연산자의 예시입니다.

SELECT id, name
FROM table1
WHERE EXISTS (SELECT id FROM table2 WHERE condition);

NOT EXISTS 연산자

NOT EXISTS 연산자는 서브쿼리의 결과가 존재하지 않는 경우를 판별합니다. 아래는 NOT EXISTS 연산자의 예시입니다.

SELECT id, name 
FROM table1
WHERE NOT EXISTS (SELECT id FROM table2 WHERE condition);

서브쿼리를 사용하여 데이터를 선택할 때는 원하는 조건에 맞게 위 연산자들을 적절히 활용하여 데이터를 필터링할 수 있습니다.

참고문헌: SQL 서브쿼리 연산자