다음 두 릴레이션 ‘Emp’와 ‘Dep’에서 id(사번)와 d_code(부서코드)는 각 릴레이션의 기본키이다. 두 릴레이션에 대하여 다음 <관계대수>의 연산 결과와 동일한 결과를 나타내는 SQL문으로 옳은 것은? (단, 아래 릴레이션을 기준으로 판단하며, 새로운 투플은 추가되지 않는다고 가정한다)
Emp | Dep | ||||
id | name | d_code | d_code | d_name | |
10 | 홍길동 | b | a | 전산부 | |
20 | 이순신 | c | b | 인사부 | |
30 | 김유신 | a | c | 총무부 |
<관계대수> | ||
Temp1 ← Emp.d_code=Dep.d_code(Emp × d_name=‘전산부’(Dep))
Temp2 ← E(id, name, code, d_code, d_name)(Temp1)
d_code(Temp2) | ||
- ①
SELECT d_code FROM Emp, Dep WHERE d_name = ‘전산부’;
- ②
SELECT d.d_code AS d_code FROM Emp AS e, Dep AS d WHERE d_code = d_code HAVING d_name = ‘전산부’;
- ③
SELECT d_code FROM Emp AS e, Dep AS d WHERE e.d_code = d.d_code and e.d_name = ‘전산부’;
- ④
SELECT d.d_code AS d_code FROM Emp AS e INNER JOIN Dep AS d ON e.d_code = d.d_code WHERE d_name = ‘전산부’;
정답 ④
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)