문제
다음 [학생]과 [전공] 테이블에서 SQL문 결과의 행 수를 쓰시오.
[학생]
| 학번 | 전공코드 |
|---|---|
| 101 | CS |
| 102 | MA |
| 103 | NULL |
| 104 | PH |
[전공]
| 코드 | 전공명 |
|---|---|
| CS | 컴퓨터 |
| MA | 수학 |
| EN | 영어 |
SQLSELECT 학생.학번, 전공.전공명 FROM 학생 LEFT JOIN 전공 ON 학생.전공코드 = 전공.코드;
정답
4
4
해설
LEFT JOIN은 왼쪽 테이블(학생)의 모든 행을 보존합니다. 학번 101은 CS와 매칭되어 '컴퓨터', 학번 102는 MA와 매칭되어 '수학', 학번 103은 전공코드가 NULL이므로 전공명이 NULL로 매칭, 학번 104는 PH인데 전공 테이블에 PH가 없으므로 전공명이 NULL로 매칭됩니다. 따라서 총 4행이 반환됩니다.