다음 SQL 의 실행 결과로 옳은 것은?[창고]창고코드지역W1서울W2부… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 8회
다음 SQL 의 실행 결과로 옳은 것은?

[창고]

창고코드지역
W1서울
W2부산
W3서울
W4대구

[출고]

출고번호창고코드수량
1W130
2W120
3W250
4W310
SELECT W.창고코드, O.출고번호, O.수량
  FROM 창고 W
  LEFT OUTER JOIN 출고 O
    ON W.창고코드 = O.창고코드
   AND W.지역 = '서울'
 ORDER BY W.창고코드, O.출고번호;
1
창고코드출고번호수량
W1130
W1220
W3410
W4(null)(null)
2
창고코드출고번호수량
W1130
W1220
W2(null)(null)
W3410
W4(null)(null)
3
창고코드출고번호수량
W1130
W1220
W3410
4
창고코드출고번호수량
W1130
W1220
W2350
W3410
W4(null)(null)
해설

ON 절의 W.지역 = '서울' 은 왼쪽 테이블을 걸러내는 조건이 아니라 조인 성립 조건이므로, 서울이 아닌 W2·W4 도 출고 쪽이 NULL 인 채 모두 남는다.

W1 은 두 건, W3 은 한 건과 결합하고 W2 는 출고번호 3 이 있어도 지역 조건이 거짓이라 짝 없는 행으로 처리되어 5행이 된다.

  • 3행 결과는 지역 조건을 WHERE 절에 둔 경우이다.
  • W2 에 출고번호 3 이 붙은 결과는 지역 조건을 무시한 경우이다.
  • W2 가 빠진 결과는 짝 있는 출고가 있으면 NULL 행도 안 만든다고 본 경우이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 8회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기