반응형
IN 연산자는 비교 결과 중 일치 하는 값이 있는 경우에 참이 된다.
컬럼이 하나인 것은 여러군데에서 찾을 수 있기에 여러 컬럼에 대한 예제를 보면 EMP 테이블에서 'JOB' 중에 최고 금액(SAL)을 받는 직원을 구하는 쿼리는 아래와 같다.
select * from emp where (job, sal) in (select job, max(sal) from emp group by job);
EXISTS 연산자는 서브 쿼리에서 적어도 하나 이상의 행을 반환 하는데... 실제로 데이터를 생성하지 않고 TRUE 또는 FALSE 값을 반환 한다.
EMP 테이블에서 BONUS 테이블에 있는 직원을 구하는 쿼리를 보면 아래와 같다.
select * from emp e where exists (select * from bonus b where e.ename = b.ename);
반응형
'DB > SQL' 카테고리의 다른 글
[자격증] SQLD 시험 후기 (0) | 2017.04.30 |
---|---|
Oracle Pivot 함수 (0) | 2016.04.23 |
Oracle MERGE 문. (0) | 2016.04.17 |
댓글