데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
db에 다음과 같은 데이터가 있습니다.
TEST_A
aa bb cc
a1 b1 c1
a2 b2 c2
SELECT aa FROM TEST_A
WHERE aa IN (
'a1',
'a4'
);
해당 쿼리를 돌리면
TEST_A
aa
a1
이 나옵니다.
원하는 결과 값은
TEST_A
aa
a4 << 핵심
가 나올수있게 쿼리를 어떻게 짜야 할까요??
db에 데이터가 있으면 넘어가고 없는 내용이 결과로 나오는것을 알고싶습니다.
Comment 2
-
지영아빠
2020.12.10 14:34
맞는 건지 모르겠네요...with tmp as (select 'a1' as aa, 'b1' as bb, 'c1' as cc union allselect 'a2' as aa, 'b2' as bb, 'c3' as cc)selectb.aafrom tmp aright outer join (select 'a1' as aa union allselect 'a4' ) bon a.aa = b.aawherea.aa is null -
약은 중
2020.12.10 16:47
DECLARE @PARAM_STR VARCHAR(MAX)SET @PARAM_STR = 'a1,a4';with TEST_A as (select 'a1' as aa, 'b1' as bb, 'c1' as cc union allselect 'a2' as aa, 'b2' as bb, 'c3' as cc)SELECT *FROM STRING_SPLIT(@PARAM_STR,',') AWHERE NOT EXISTS(SELECT 'X'FROM TEST_A BWHERE A.VALUE = B.AA)