데이터베이스 일반컴퓨터활용능력 1급 · 2015년03월07일 · 47/60
47.다음 중 아래와 같은 테이블 구조를 가진 데이터베이스에서 부서명이 ‘인사부’인 직원들의 정보를 조회하는 SQL문으로 가장 적절한 것은?

1
SELECT * FROM 부서 WHERE 부서번호 IN (SELECT 부서번호 FROM 직원)
2
SELECT * FROM 직원 WHERE 부서번호 IN (SELECT 부서번호 FROM 부서 WHERE 부서명='인사부')정답
3
SELECT 직원.* FROM 직원, 부서 WHERE 부서.부서명 = '인사부'
4
SELECT * FROM 부서 WHERE 부서명='인사부' ORDER BY 부서번호
해설
현재 <부서>와 <직원> 테이블이 제시되어있고, <부서>테이블 안에서 [부서명]이 '인사부'인 직원의 정보를 조회하고자 한다. 먼저 [부서명]이 '인사부'인 직원들의 정보를 조회하기위해 IN함수를 사용하며, IN은 '~안에서'로 해석할 수 있다, 즉 <부서>테이블 안에서 [부서명]이 '인사부'인 정보를 검색해야 하므로 IN() 내부에서 <부서>테이블에서 부서명이 인사부인 정보를 먼저 검색 한다. 그렇게 IN내부에서 <부서>테이블에서 부서명이 '인사부'인 [부서번호]를 검색하여 <직원>테이블에서 [부서번호]에 해당하는 정보를 조회하게 된다.