본문 바로가기

DB

[MSSQL 2000] ORACLE의 MINUS 연산 구현(차집합)

차집합의 경우는 아래와 같이 구현하면 되지만
한쪽이라도 테이블이 매우 큰 경우에는 이 방법으로는 시간이 너무 오래 걸린다.

그래서 그럴 겨우에는 그냥 교집합 구한담에
원하는 집합에서 교집합을 제거하는 순차적인 방법이 훠~얼씬 빠르다.


SELECT	C.ch_Name
FROM	Character C
WHERE	Not Exists (
		SELECT Ch_Name
		FROM Experence
		WHERE ch_Name = c.ch_Name  )



SELECT	C.ch_Name
FROM	Character C
Left Outer Join Experence E
	ON C.ch_Name = E.ch_Name
WHERE	E.ch_Name Is Null