[7급 국가직 데이터베이스론 2018년 14번]

다음 EMPLOYEE, PROJECT, WORKSON 테이블로 구성된 데이터베이스에서, “모든 프로젝트에 참가하는 직원의 이름을 검색하라.”를 수행하기 위한 SQL문으로 옳은 것은?
EMPLOYEE( eNo, eName )
PROJECT( pNo, pName )
WORKSON( eNo, pNo )
데이터베이스론
  1. ①
    SELECT eName
    		FROM  EMPLOYEE E, WORKSON W, PROJECT P
    		WHERE E.eNo = W.eNo
    			AND W.pNo = P.pNo;
  2. ②
    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
    			)
    		);
  3. ③
    SELECT eName
    		FROM EMPLOYEE E
    		WHERE EXISTS ( 
    			( SELECT pNo FROM PROJECT )
    				NOT EXCEPT
    			( SELECT pNo
    				FROM WORKSON W
    				WHERE E.eNo=W.eNo) 
    		);
  4. ④
    SELECT eName
    		FROM EMPLOYEE E
    		WHERE EXISTS ( 
    			( SELECT pNo FROM PROJECT) 
    				EXCEPT
    			( SELECT pNo
    				FROM WORKSON W
    				WHERE E.eNo = W.eNo )
    		);

선지를 골라 바로 채점해 보세요.

정답 ②

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고