다음 SQL을 실행한 결과로 옳은 것은?[부서]부서코드부서명D1기획D2… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

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

[부서]

부서코드부서명
D1기획
D2영업
D3개발
D4총무

[사원]

사번이름부서코드직급
1가윤D1대리
2나래D1과장
3다온D2과장
4라희D3대리
5마루D3대리
6사랑(null)대리
SELECT D.부서명, E.이름
  FROM 부서 D
  LEFT OUTER JOIN 사원 E
    ON D.부서코드 = E.부서코드
   AND E.직급 = '대리'
 ORDER BY D.부서코드, E.사번;
1
부서명이름
기획가윤
영업(null)
개발라희
개발마루
총무(null)
2
부서명이름
기획가윤
영업(null)
개발라희
개발마루
총무(null)
(null)사랑
3
부서명이름
기획가윤
개발라희
개발마루
4
부서명이름
기획가윤
기획나래
영업다온
개발라희
개발마루
총무(null)
해설

ON 절의 직급 조건은 조인 대상만 제한하므로 LEFT OUTER JOIN의 왼쪽인 부서 4개는 모두 남고, 대리가 없는 영업·총무는 이름이 NULL로 나온다.

기획에는 대리인 가윤만, 개발에는 라희·마루가 붙어 모두 5행이며, 부서코드가 없는 사랑은 왼쪽 테이블에 짝이 없어 나오지 않는다.

  • 3행 표는 직급 조건을 WHERE에 둔 것처럼 NULL 행을 지웠다.
  • 나래·다온이 붙은 표는 ON 절의 직급 조건을 무시했다.
  • 부서명이 NULL인 행이 있는 표는 FULL OUTER JOIN의 결과이다.

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

이어서 풀어보기

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