다음 EMPLOYEE, PROJECT, WORKSON 테이블로 구성된 데이터베이스에서, “모든 프로젝트에 참가하는 직원의 이름을 검색하라.”를 수행하기 위한 SQL문으로 옳은 것은?
EMPLOYEE( eNo, eName )PROJECT( pNo, pName )WORKSON( eNo, pNo )
- ①
SELECT eName FROM EMPLOYEE E, WORKSON W, PROJECT P WHERE E.eNo = W.eNo AND W.pNo = P.pNo;
- ②
SELECT eName FROM EMPLOYEE E WHERE NOT EXISTS ( SELECT P.pNo FROM PROJECT P WHERE NOT EXISTS ( SELECT W.pNo FROM WORKSON W WHERE P.pNo = W.pNo AND E.eNo = W.eNo ) );
- ③
SELECT eName FROM EMPLOYEE E WHERE EXISTS ( ( SELECT pNo FROM PROJECT ) NOT EXCEPT ( SELECT pNo FROM WORKSON W WHERE E.eNo=W.eNo) );
- ④
SELECT eName FROM EMPLOYEE E WHERE EXISTS ( ( SELECT pNo FROM PROJECT) EXCEPT ( SELECT pNo FROM WORKSON W WHERE E.eNo = W.eNo ) );
선지를 골라 바로 채점해 보세요.
정답 ②
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)