본문 바로가기

빅데이터과정/SQL

#7_140623_EXISTS

728x90

# EXISTS



문제308. 사원이름부서위치부서번호를 출력하시오

SELECT e.ename, d.loc, e.deptno
FROM EMP e, DEPT d
WHERE e.deptno=d.deptno;

문제309. 부서테이블에서 부서위치를 출력하는데 사원테이블에 존재하는 부서번호에 대한 것만 출력하시오

#튜닝전
SELECT DISTINCT d.loc
FROM EMP e, DEPT d
WHERE e.deptno=d.deptno;

#튜닝후
SELECT loc
FROM DEPT d
WHERE EXISTS (SELECT 'x' FROM EMP e WHERE e.deptno=d.deptno);

exits : 전부다 검색할 필요 없이 존재여부만 판단하기 때문에 해당하는 부서번호를 찾으면 존재하기 때문에 그 이하는 검색하지 않고 해당하는 부서위치를 출력한다.
메인쿼리가 서브쿼리가 먼저 수행된다.


문제 310. 부서테이블에서 부서위치를 출력하는데 사원테이블에 존재하지 않는 부서번호에 대한 것만 출력하시오

SELECT loc
FROM DEPT d


WHERE NOT EXISTS (SELECT 'x' FROM EMP e WHERE e.deptno=d.deptno);


'빅데이터과정 > SQL ' 카테고리의 다른 글

#7_140623_CORRELATED SUBQUERY  (0) 2014.07.14
#7_140623_마지막 문제  (0) 2014.07.14
#7_140623_PAIRWISE  (0) 2014.07.14
#7_140623_ALTER TABLE  (0) 2014.07.14
#7_140623_DATA DICTIONARY  (0) 2014.07.14