자주 쓰는 기능을 함수로 정의해놓고 편하게 불러와 사용하듯
SQL 쿼리를 작성할 때도 함수처럼 정의해두고 사용하는 구문기법을 CTE라고 한다.
WITH CTE_Name (column1, column2, ...) AS (
-- CTE 쿼리 정의
SELECT column1, column2, ...
FROM table_name
WHERE conditions
)
-- CTE가 여러 개일 때 :
-- 1) 첫번째 CTE작성 후 쉼표
-- 2) 두번째 CTE는 WITH 작성 X
WITH CTE_Name AS (
-- CTE 쿼리 정의
SELECT column1, column2, ...
FROM table_name
WHERE conditions
),
CTE_Name2 AS (
-- CTE 쿼리 정의
SELECT column1, column2, ...
FROM table_name
WHERE conditions
)
--MAIN
SELECT *
FROM CTE_Name2