[SQLD 퀴즈] WHERE 절

아래 테이블은 어느 회사의 사원들과 이들이 부양하는 가족에 대한 것으로 밑줄 친 칼럼은 기본키(Primary Key)를 표시한 것이다. 다음 중 ‘현재 부양하는 가족들이 없는 사원들의 이름을 구하라’는 질의에 대해 아래 SQL 문장의 ㉠, ㉡ 에 들어 갈 내용으로 가장 적절한 것은?

---------------------------- 아 래 ----------------------------------------

[테이블]

사원 (사번, 이름, 나이)

가족 (이름, 나이, 부양사번)

※ 가족 테이블의 부양사번은 사원 테이블의 사번을 참조하는 외래키(Foreign Key)이다.

 

[SQL 문장]

SELECT 이름

FROM 사원

WHERE ㉠ (SELECT * FROM 가족 WHERE ㉡ )

 

------------------------------------------------------------

 

① ㉠ : EXISTS        ㉡ : 사번 = 부양사번

② ㉠ : EXISTS        ㉡ : 사번 <> 부양사번

③ ㉠ : NOT EXISTS ㉡ : 사번 = 부양사번

④ ㉠ : NOT EXISTS ㉡ : 사번 <> 부양사번

 

[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=151676&boardConfigUid=81

 

 

 

 

* 정답 및 해설 *

 

정답 : ③

‘가족들이 없는’조건 : NOT EXISTS

‘현재 부양하는 가족들’조건 : 사번 = 부양사번

 

[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=151733&boardConfigUid=81