ANY 연산자는 주로 서브쿼리에 사용되며 하나라도 만족하는 값이 있다면 true를 반환한다.
ANY(서브쿼리 or 값)
활용 예제 1) sal > 300 OR sal > 400 OR sal > 500 이므로 sal이 300보다 크면 조건을 만족한다.
SELECT ename, sal
FROM emp
WHERE sal > ANY(300, 400, 500);
활용 예제 2) 서브쿼리에서 값이 여러개 나올 수 있는 경우 ANY 연산자를 활용하였다.
SELECT ename, sal
FROM emp
WHERE sal > ANY( SELECT sal FROM emp WHERE deptno = 20 );
ALL 연산자는 전체 만족해야 true를 반환하는 특징을 가지고 있다.
ALL(서브쿼리 or 값)
활용 예제 1) sal > 300 AND sal > 400 AND sal > 500 이므로 sal이 500보다 크면 조건을 만족한다.
SELECT ename, sal
FROM emp
WHERE sal > ALL(300, 400, 500);
활용 예제 2) 서브쿼리에서 반환된 값들이 전부 true여야 한다.
SELECT ename, sal
FROM emp
WHERE sal > ALL( SELECT sal FROM emp WHERE deptno = 20);
EXISTS 조건식은 행의 존재 여부를 확인하여 true 값을 반환합니다. 반환값 타입 boolean
EXISTS(서브쿼리)
활용 예제) 서브쿼리에서 반환하는 행이 1개라도 있으면 true를 반환합니다.
SELECT ename, sal
FROM emp
WHERE EXISTS( SELECT * FROM emp WHERE sal = 300 );
NOT EXISTS 조건식은 반환된 행이 하나도 없어야 true 값을 반환합니다. 반환값 타입 boolean
NOT EXISTS(서브쿼리)
활용 예제) 서브쿼리에서 반환하는 행이 없어야 true를 반환합니다.
SELECT ename, sal
FROM emp
WHERE NOT EXISTS( SELECT * FROM emp WHERE sal = 300 );
728x90
반응형
'DB > SQL' 카테고리의 다른 글
MSSQL 자동 증가값 세팅 및 초기화( IDENTITY) (0) | 2021.08.31 |
---|---|
숫자함수 ROUND, FLOOR, CEIL ,TRUNCATE (0) | 2021.08.31 |
[MS-SQL]UNION ALL로 소계, 합계 구하기 (0) | 2021.07.21 |
[SQL] MySQL 주차 구하기 WEEK (0) | 2021.07.21 |
[MySQL] 데이터 타입 정의 (0) | 2021.06.08 |
댓글