제목 그대로 두가지 쿼리의 결과값을 비교할 수 있는 방법이 있을까요?
질문이 막연한 것 같아서, 제가 생각한 것들을 적어 봅니다.
SELECT * FROM TABLE1
WHERE NOT EXISTS
(SELECT * FROM TABLE1 WHERE TABLE1.COL = 'A')
이런식으로 TABLE1의 전체값과 TABLE1의 특정컬럼이 'A'인 값을 비교하는 의미입니다.
(물론 저 위에 쿼리는 오류는 안나지만 결과값을 못찾네요..)
쉽게 말해서 (전체값 - 'A') 의 느낌이라고 할까요?
말주변이없어서 사족이 많이 붙었네요..
혹시몰라서 그림으로 첨부하였습니다.
여기서 = 다음의 결과값을 구하는 방법을 알고 싶습니다..
Comment 3
-
Marmello
2014.01.23 11:03
-
항해자™
2014.01.23 21:42
except는 양쪽 모두에 대해 검색하므로 성능이 좋지 못 합니다,,
이런경우에는 left join을 사용해 보세요,,
;with cteTable as (
select col
from dbo.Table
where col = '222'
)
select *
from dbo.Table as a
left join cteTable as b
on b.col = a.col
where b.col is null -
Marmello
2014.05.15 10:39
많이 늦었지만, 답변 감사합니다! 스크랩 해두고, 익혀둬야 겠네요.
자문자답이지만 검색하다가 찾았네요.
not exists가 아니라 except를 쓰면 되는군요.
글을 지우면 읽은분들에 대한 예의가 아닌 것 같아서 글은 그대로 두겠습니다.
읽어주신 분들 감사합니다.