[sql] EXCEPT 연산자를 사용하여 테이블에서 특정 값들을 가지고 있는 행을 찾는 방법은?

EXCEPT 연산자는 두 개의 SELECT 문 결과에서 첫 번째 결과에만 존재하는 행을 반환하는 연산자입니다. 즉, 두 번째 SELECT 문의 결과에서 첫 번째 SELECT 문의 결과를 제외한 행들을 반환합니다.

예를 들어, employees라는 테이블에서 department_id가 3인 행을 제외한 나머지 행들을 조회하려면 다음과 같이 SQL 쿼리를 작성할 수 있습니다.

SELECT *
FROM employees
WHERE department_id NOT IN (
    SELECT department_id
    FROM employees
    WHERE department_id = 3
)

위의 쿼리는 employees 테이블에서 department_id가 3인 행을 제외한 나머지 행들을 반환합니다.

또 다른 방법으로는 EXCEPT 연산자를 사용하여 동일한 결과를 얻을 수 있습니다.

SELECT *
FROM employees
EXCEPT
SELECT *
FROM employees
WHERE department_id = 3

EXCEPT 연산자를 사용하여 두 개의 SELECT 문을 비교하고, 첫 번째 SELECT 문에만 존재하는 행들을 반환합니다.

위의 예시를 참고하여 EXCEPT 연산자를 사용하여 원하는 특정 값들을 가지고 있는 행을 제외한 결과를 얻을 수 있습니다.

[참고 링크]