자격증/SQLD
(다중행 서브쿼리) ALL / ANY
dev?
2024. 11. 14. 16:25
반응형
ALL : 메인 쿼리 조건이 서브쿼리의 모든 값에 대해 참이 되어야 조건이 만족됩니다.
SELECT ENAME, JOB, SAL
FROM EMP
WHERE SAL > ALL(SELECT SAL FROM EMP WHERE JOB='SALESMAN');
> 서브쿼리 결과
- ALL보다 커야 하기 때문에 서브쿼리 결과 중 제일 큰값이 기준이됨
아래의 MAX로 대체 가능하다
SELECT ENAME, JOB, SAL
FROM EMP
WHERE SAL > (SELECT MAX(SAL) FROM EMP WHERE JOB='SALESMAN');
ANY: 메인 쿼리 조건이 서브쿼리의 하나 이상의 값에 대해 참이 되면 조건이 만족됩니다.
SELECT ENAME, JOB, SAL
FROM EMP
WHERE SAL > ANY(SELECT SAL FROM EMP WHERE JOB='SALESMAN');
> 서브쿼리 결과
- ANY보다 커야 하기 때문에 서브쿼리 결과 중 제일 작은 값이 기준이됨
아래의 MIN로 대체 가능하다
SELECT ENAME, JOB, SAL
FROM EMP
WHERE SAL > (SELECT MIN(SAL) FROM EMP WHERE JOB='SALESMAN');
반응형