[sql] INTERSECT 연산자를 사용한 NULL 값 제외 방법

SQL에서 INTERSECT 연산자는 두 개의 SELECT 문의 결과에서 교집합을 구하는데 사용됩니다. 그러나 INTERSECT 연산자는 NULL 값을 포함하지 않는다는 점을 고려해야 합니다.

만약 교집합을 구할 때 NULL 값을 제외하고 싶다면, 다음과 같은 방법을 사용할 수 있습니다.

SELECT column1, column2, ...
FROM table1
WHERE column1 IS NOT NULL
INTERSECT
SELECT column1, column2, ...
FROM table2
WHERE column1 IS NOT NULL;

위의 예제에서는 두 개의 SELECT 문에서 각각 column1이 NULL이 아닌 row만 선택한 후 INTERSECT 연산자를 사용하여 교집합을 구합니다. 따라서 NULL 값을 제외하고 교집합을 구할 수 있습니다.

만약 여러 개의 테이블에서 교집합을 구할 경우, 위의 예제를 확장하여 모든 테이블에 대해 NULL 값을 제외한 후 INTERSECT 연산자를 반복적으로 적용하면 됩니다.

위의 방법을 사용하여 INTERSECT 연산자를 사용할 때 NULL 값을 제외할 수 있습니다.

참고 자료:

  1. Oracle Documentation - INTERSECT Operator
  2. MySQL Documentation - INTERSECT Operator