이번엔 WITH절이다.
WITH절은 쿼리 자체를 하나에 별칭으로 선언해서 사용하는 것으로 복잡한 쿼리가 많이 간단해진다.
// 코딩으로 치면 함수 선언 느낌 이랄까? 앞에다 함수 선언해놓고 뒤에서 호출해서 쓰는 느낌으로!
계산한 값을 임시 저장 후 여러 번 사용해서 성능이 향상 됨
WITH
query1 AS (sub_query),
query2 AS (sub_query)
SELECT selected_list
FROM table, query1, query2
...
예제
WITH
dept_costs AS(
SELECT d.department name, SUM(e.salary) AS dept_total
FROM employee e, department d
WHERE e.department_id = d.department_id
GROUP BY d.department_name),
avg_cost AS(
SELECT SUM(dept_total)/COUNT(*) AS dept_avg
FROM dept_costs)
SELECT *
FROM dept_costs
WHERE dept_total > (SELECT dept_abg
FROM avg_cost)
ORDER BY department_id;
'Dev > SQL' 카테고리의 다른 글
1. 서브 쿼리 간단히 정리한다. (0) | 2023.08.17 |
---|