SQLD · 제62회 · 49번

Q.492026622과목 · SQL 기본 및 활용
다음 고객과 주문 데이터에서 주문을 한 적이 없는 고객을 찾으려고 한다. (가)~(라) 가운데 결과가 나머지와 다른 SQL은? 주문의 NULL 고객번호는 비회원 주문을 의미한다.
보기
[고객]
고객번호고객명
1고객A
2고객B
3고객C
[주문]
고객번호
1
NULL
NULL
3
-- (가)
SELECT C.고객번호 FROM 고객 C
WHERE C.고객번호 NOT IN (
  SELECT O.고객번호 FROM 주문 O
  WHERE O.고객번호 IS NOT NULL
);

-- (나)
SELECT C.고객번호 FROM 고객 C
WHERE C.고객번호 NOT IN (
  SELECT NVL(O.고객번호, 9999) FROM 주문 O
);

-- (다)
SELECT C.고객번호 FROM 고객 C
WHERE EXISTS (
  SELECT 1 FROM 주문 O
  WHERE C.고객번호 <> O.고객번호
);

-- (라)
SELECT C.고객번호 FROM 고객 C
WHERE NOT EXISTS (
  SELECT 1 FROM 주문 O
  WHERE C.고객번호 = O.고객번호
);
  • 1(가)
  • 2(나)
  • 3(다)
  • 4(라)

정답: 3 · (다)

해설
해설 불러오는 중…
이 회차 문제 풀어보기 →SQLD 더 풀기