🌏 DataBase/MySQL

[DB] Subquery (서브쿼리) 사용법 / select문 안에 select문

ryang x2 2021. 3. 24. 17:08
728x90
반응형

# 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

 

 

 

 

 

 

728x90
반응형