[DB] Subquery (서브쿼리) 사용법 / select문 안에 select문
# Subquery(서브쿼리)
- SQL 에서 쿼리안의 쿼리를 이용하는것을 Subquery 라고 부른다.
- 서브쿼리는 메인쿼리가 서브쿼리를 포함하여 종속적인 관계이다.
● 사용방법
SELECT 학과명, (SELECT count(*) FROM 교수 WHERE 학과.학과명 = 교수.학과명) AS 교수숫자 FROM 학과
=> 학과 테이블에서 학과명과, (교수테이블에서 학과에따른 교수숫자) 를 select한다.
from 절 예시 :
SELECT 학과명, 월급평균 FROM (SELECT 학과명, AVG(월급) AS 월급평균 FROM 교수 GROUP BY 학과명) WHERE 월급평균 > 5000
=> 학과명과 월급평균을 새로운 서브쿼리 테이블 : (교수테이블에서 <학과명, 학과명 별로 그룹화한 평균> 테이블) 중 월급평균이 5000 이상인 것만 SELECT한다.
출처: https://programming119.tistory.com/35 [개발자 아저씨들 힘을모아]
● 서브쿼리 사용할 때 주의할 점
1. 서브쿼리를 괄호로 감싸서 사용한다.
2. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능
3. 서브쿼리에서는 ORDER BY를 사용하지 못한다.
● 서브쿼리가 사용이 가능한 곳
- SELECT
- FROM
- WHERE
- HAVING
- ORDER BY
- INSERT문의 VALUES
- UPDATE문의 SET
- 서브쿼리도 별칭(alias) 사용이 가능하다.
● 서브쿼리의 종류
- 단일행 서브쿼리
- 다중행 서브쿼리
- 다중컬럼 서브쿼리
참조 : victorydntmd.tistory.com/139