다음 [결과]가 나오도록 SQL의 ( ㉠ )에 들어갈 구문으로 옳은 것… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 1회
다음 [결과]가 나오도록 SQL의 ( ㉠ )에 들어갈 구문으로 옳은 것은?

[사원]

사원번호사원명부서코드지역
1강민서D1서울
2윤재희D2부산
3서도현D1부산
4임채원D3서울
5조하린(null)서울

[부서]

부서코드부서명지역
D1영업서울
D2개발부산
D3인사대전
SELECT 부서코드, E.사원명, D.부서명
  FROM 사원 E ( ㉠ )
 ORDER BY 부서코드, E.사원명;

[결과]

부서코드사원명부서명
D1강민서영업
D1서도현영업
D2윤재희개발
D3임채원인사
1
NATURAL JOIN 부서 D
2
CROSS JOIN 부서 D
3
JOIN 부서 D ON E.부서코드 = D.부서코드
4
JOIN 부서 D USING (부서코드)
해설

USING (부서코드)는 지정한 열만 등가 조인하고 그 열을 하나로 합쳐 주므로, 접두어 없는 부서코드를 SELECT·ORDER BY 에 쓸 수 있다.

부서코드만으로 묶이면 서도현(부산)도 D1 영업과 연결되어 4행이 된다. 부서코드가 NULL 인 조하린은 등가 조건을 만족하지 못해 빠진다.

  • NATURAL JOIN 은 동명 열인 지역까지 비교해 강민서·윤재희 2행만 남는다.
  • ON 조인은 양쪽 부서코드가 모두 남아 접두어 없는 부서코드가 모호하다는 오류가 난다.
  • CROSS JOIN 도 부서코드가 두 테이블에 있어 같은 모호성 오류가 난다.

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

이어서 풀어보기

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