[SQL] 서브쿼리(SubQuery)
최대 1 분 소요
서브쿼리의 정의와 특징
1. 정의
2. 특징
- 서브쿼리 사용 시 반드시 () 로 묶어야 한다.
- 서브쿼리 내에서는 ORDER BY를 사용할 수 없다.
- SELECT, FROM, WHERE, ORDER BY, HAVING 절에서 사용할 수 있다. (+ INSERT VALUES, UPDATE SET)
- 메인쿼리가 실행되기 전에 서브쿼리가 실행된다.
서브쿼리의 위치에 따른 명칭
1. FROM절 서브쿼리: 인라인뷰(Inline view)
SELECT *
FROM (SELECT *
FROM t1
WHERE name = 'ㅎㅇ')
2. WHERE절 서브쿼리: 중첩 서브쿼리
SELECT months*salary AS earnings, COUNT(*)
FROM Employee
WHERE months*salary = (SELECT MAX(months*salary) FROM Employee)
GROUP BY months*salary
3. SELECT절 서브쿼리: 스칼라 서브쿼리
- 다른 테이블에서 특정 값을 가져올 때 사용한다.
- 하나의 레코드만 리턴 가능하며, 두 개 이상의 레코드는 리턴할 수 없다.
SELECT D.DEPTNO, (SELECT MIN(EMPNO) FROM EMP WHERE DEPTNO = D.DEPTNO) as EMPNO
FROM DEPT D
ORDER BY D.DEPTNO
댓글남기기