MS-SQL
차집합
캡틴노랑이
2016. 12. 28. 10:40
반응형
차집합
위와 같이 A 테이블에는 1,2,3,4,5가 있고,
B 테이블에는 1,2,3이 있다.
집합 A에서 집합 B를 뺀 차집합은 4,5가 된다.
수학 기호로는 A-B={4,5} 이다.
--가장 간결한 방법
SELECT ID
FROM A
EXCEPT
SELECT ID
FROM B
EXCEPT 및 INTERSECT
두 쿼리의 결과를 비교하여 고유한 값을 반환합니다.
EXCEPT는 오른쪽 쿼리에 없는 고유한 값을 왼쪽 쿼리에서 반환합니다.
INTERSECT는 INTERSECT 피연산자의 왼쪽과 오른쪽에 있는 두 쿼리에 의해 반환된 고유한 값을 반환합니다.
참고 : http://msdn.microsoft.com/ko-kr/library/ms188055.aspx
--NOT IN을 이용한 방법
SELECT ID
FROM A
WHERE ID NOT IN (SELECT ID FROM B )
/* 부연참고 : http://smartweb.tistory.com/4 */
--IS NULL을 이용한 방법
SELECT A.ID
FROM ( SELECT ID FROM A ) A
LEFT JOIN ( SELECT ID FROM B ) B ON B.ID=A.ID
WHERE B.ID IS NULL
반응형