본문 바로가기
Web/MYSQL

[MYSQL] With절 사용법 / 서브쿼리 / With Clause

by 서상혁 2019. 9. 28.


 

SQL에서 서브쿼리를 사용할 때 새로운 테이블이 생성된다.

이러한 서브쿼리가 계속 사용된다면 메모리 차원에서 문제가 생길 수 있다.

 

따라서 우리는 with 절을 이용해서 temporary 한 테이블을 만들수 있다.

 


 

with 임시 테이블 이름 as (쿼리)

 

with max_budget (value) as (select max(budget) from department) select dept_name from department, max_budget where department.budget = max_budget.value;

 

=> 학과 테이블로부터 budget 의 최대값을 저장하는 max_budget 이라는 임시테이블을 만든다.

=> 만들었던 임시테이블을 where 절에서 budget을 비교할때 사용한다.

 


 

* with 절을 너무 남발하면 임시테이블이 견딜 수 있는 정도가 넘어가 오히려 느려진다고 한다.

728x90

댓글