다음 SQL 의 실행 결과로 옳은 것은?[진료과]과코드과명K1내과K2외… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지

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

[진료과]

과코드과명
K1내과
K2외과
K3소아과

[의사]

의사번호의사명과코드
1윤하K1
2서진K1
3도윤K2
4채원K9
SELECT 과코드, 과명, 의사명
  FROM 진료과 FULL OUTER JOIN 의사
 USING (과코드)
 ORDER BY 과코드, 의사명;
1
과코드과명의사명
K1내과서진
K1내과윤하
K2외과도윤
K3소아과(null)
(null)(null)채원
2
과코드과명의사명
K1내과서진
K1내과윤하
K2외과도윤
K9(null)채원
3
과코드과명의사명
K1내과서진
K1내과윤하
K2외과도윤
K3소아과(null)
K9(null)채원
4
과코드과명의사명
K1내과서진
K1내과윤하
K2외과도윤
K3소아과(null)
해설

USING 으로 조인한 공통 열 과코드는 결과에 한 열로만 나타나며, FULL OUTER JOIN 에서는 어느 쪽 행이든 존재하는 값으로 채워진다.

K1 두 행과 K2 한 행이 짝을 이루고, 의사가 없는 K3 소아과는 의사명이 NULL, 진료과가 없는 채원은 과명이 NULL 이면서 과코드는 K9 로 남는다.

  • 채원 행의 과코드를 NULL 로 본 결과는 왼쪽 테이블 값만 쓴다고 오해한 것이다.
  • K9 행이 빠진 결과는 LEFT OUTER JOIN 에 해당한다.
  • K3 행이 빠진 결과는 RIGHT OUTER JOIN 에 해당한다.

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

이어서 풀어보기

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