반응형
차집합
위와 같이 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
1 2 3 4 5 6 7 8 9 | SELECT A.TotalClsNo , 'ZZ' AS StndConstCode , '기타공사' AS StndConstName , SUM (A.TotAmt) AS TotAmt FROM RowData A LEFT OUTER JOIN SumDataJoin B ON A.StndConstCode LIKE B.StndConstCode + '%' WHERE B.StndConstCode IS NULL GROUP BY A.TotalClsNo |
반응형
'MS-SQL' 카테고리의 다른 글
[298] SQLServer 오류: 15404, Windows NT 그룹/사용자 'WIN-6NB4PI6JSLM\Administrator'에 대한 정보를 가져올 수 없습니다. 오류 코드 0x534. [SQLSTATE 42000] (ConnIsLoginSysAdmin) (2) | 2017.03.22 |
---|---|
MS SQL Identity값 초기화 (2) | 2017.03.05 |
0으로 나누기 오류가 발생했습니다. (0) | 2016.12.20 |
MS-SQL 2016 Json 데이터를 DB로 전송하여 데이터 셋으로 일괄 작업하기 (0) | 2016.11.23 |
동적 pivot (0) | 2016.10.05 |
댓글