유블로그

IN, ANY, ALL 본문

SQL

IN, ANY, ALL

yujeong kang 2020. 10. 14. 09:35

- IN

-- 10번 및 30번 부서에 속하는 모든 사원의 이름과 부서 번호를 출력하되, 이름을 알파벳순으로 정렬하여 출력하라.
SELECT ename, deptno
FROM emp
WHERE DEPTNO IN (10, 30)		-- where (deptno = 10 or deptno = 30)
ORDER BY ename;
-- 이름에 T 가 들어가는 사원의 속한 부서에서 근무하는 모든 사원의 사원번호 및 이름을 출력하라
SELECT e.EMPNO , e.ENAME 
FROM emp e 
WHERE e.DEPTNO IN (
                    SELECT DEPTNO 
                    FROM emp
                    WHERE ENAME LIKE '%T%'
                    ) ;

IN 은 대상 중 하나라도 일치하면 true

 

 

- ANY

-- 10번 및 30번 부서에 속하는 모든 사원의 이름과 부서 번호를 출력하되, 이름을 알파벳순으로 정렬하여 출력하라.
SELECT ename, deptno
FROM emp
WHERE DEPTNO = ANY(10, 30)		-- where (deptno = 10 or deptno = 30)
ORDER BY ename;

IN 과 같지만 등호를 사용한다. 이것 역시 하나라도 일치하면 true

 

 

- ALL

SELECT ename, deptno
FROM emp
WHERE DEPTNO = ALL(10, 30)		-- where (deptno = 10 and deptno = 30)
ORDER BY ename;

 

ALL 도 등호를 사용한다. all 은 모든 값과 일치해야 true이다.

'SQL' 카테고리의 다른 글

[SQL] SET (집합연산자)  (0) 2020.10.15
[SQL] 집계함수, GROUP BY  (0) 2020.10.15
Subquery  (0) 2020.10.13
JOIN - INNER JOIN, NATURAL JOIN, OUTER JOIN  (0) 2020.10.13
[MySQL] SQL 정리  (0) 2020.08.20