[DB] MySQL 다중행 서브쿼리 연산자
2020. 5. 25. 13:16ㆍDataBase/MySQL
반응형
■ IN
하나의 컬럼을 여러개의 "=" 조건으로 처리해야할 경우 사용
설명) SAL 컬럼 데이터 중 1300, 800, 950 인 레코드만 출력
SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE SAL IN (SELECT MIN(SAL)
FROM EMP
GROUP BY DEPTNO);
같은결과
SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE SAL IN (1300, 800, 950);
■ ANY
여러개의 조건데이터 중 하나의 값이라도 만족하면 레코드 반환
설명) SAL컬럼의 데이터 중 1600, 1250, 1250, 1500 값보다 하나라도 클경우 레코드 반환
SELECT ENAME, SAL
FROM EMP
WHERE SAL > ANY(SELECT SAL
FROM EMP
WHERE JOB = 'SALESMAN');
같은결과
SELECT ENAME, SAL
FROM EMP
WHERE SAL > ANY(1600, 1250, 1250, 1500);
■ ALL
여러개의 조건데이터가 모두 만족하면 레코드 반환
설명) SAL컬럼의 데이터 중 1600, 1250, 1250, 1500 값보다 작을경우 레코드 반환
(최솟값이 1250 이므로 1250보다 작을경우 만족)
SELECT ENAME, SAL
FROM EMP
WHERE SAL < ALL (SELECT SAL
FROM EMP
WHERE JOB = 'SALESMAN');
같은결과
SELECT ENAME, SAL
FROM EMP
WHERE SAL < ALL (1600, 1250, 1250, 1500);
반응형
'DataBase > MySQL' 카테고리의 다른 글
[DB] MySQL 제약조건 확인 (0) | 2020.05.26 |
---|---|
[DB] MySQL 다중 열 서브쿼리 (0) | 2020.05.25 |
[DB] MySQL 다중행 함수 (0) | 2020.05.25 |
[DB] MySQL 날짜 더하기/빼기 함수 (0) | 2020.05.25 |
[DB] MySQL 두 날짜 차이 계산 함수(DATEDIFF() / TIMESTAMPDIFF()) (0) | 2020.05.25 |