다음 SQL의 실행 결과에 대한 설명으로 옳은 것은?[직원]직원번호직원… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL의 실행 결과에 대한 설명으로 옳은 것은?[직원]
| 직원번호 | 직원명 | 관리자번호 |
|---|---|---|
| 101 | 윤서 | (null) |
| 102 | 도윤 | 101 |
| 103 | 하은 | 101 |
| 104 | 시우 | 102 |
| 105 | 지아 | (null) |
SELECT A.직원명 AS 직원, B.직원명 AS 관리자
FROM 직원 A
JOIN 직원 B
ON A.관리자번호 = B.직원번호
ORDER BY A.직원번호;1
관리자가 없는 윤서도 직원 열에 나온다
2
같은 테이블이라 별칭 없이 실행된다
3
시우의 관리자로 윤서가 출력된다
4
관리자 열에 윤서가 두 번 출력된다
해설
A 를 직원, B 를 관리자로 보는 셀프 조인에서 관리자번호가 있는 도윤·하은·시우만 연결되어 3행이 나오며, 도윤·하은의 관리자가 모두 윤서다.
INNER JOIN 이므로 관리자번호가 NULL 인 윤서·지아는 직원 열에 나오지 않는다.
- 윤서까지 보려면 LEFT OUTER JOIN 이 필요하다.
- 한 번의 조인은 바로 위 한 단계만 이어 시우의 관리자는 도윤이다.
- 같은 테이블을 두 번 쓰면 별칭이 없을 때 열을 구분할 수 없다.
오류나 개정된 내용이 보이면 알려주세요