데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
제목 그대로 두가지 쿼리의 결과값을 비교할 수 있는 방법이 있을까요?
질문이 막연한 것 같아서, 제가 생각한 것들을 적어 봅니다.
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를 쓰면 되는군요.
글을 지우면 읽은분들에 대한 예의가 아닌 것 같아서 글은 그대로 두겠습니다.
읽어주신 분들 감사합니다.