WITH 절은 **Common Table Expressions (CTE)**를 만드는 구문으로, 복잡한 쿼리를 간결하고 읽기 쉽게 구성합니다. WITH 를 사용하여 정의한 CTE는 마치 테이블처럼 사용되며, 본문의 쿼리에서 임시 테이블 역할을 합니다.
즉 "가상의 테이블 만들기" 라고 생각하시면 쉽습니다.
CTE의 기본 용법
WITH CTE_Name AS (
-- CTE 내부에서 실행할 쿼리
SELECT ...
)
-- 메인 쿼리: CTE를 테이블처럼 참조
SELECT ...
FROM CTE_Name
- CTE_Name : CTE의 이름을 정의합니다. 이후 쿼리에서 이 이름을 사용하여 CTE를 참조할 수 있습니다.
- CTE 내부 쿼리 : CTE 내부에서 데이터를 필터링하거나 집계하는 등 쿼리를 작성합니다.
- 메인 쿼리 : 메인 쿼리에서 CTE를 참조하여 데이터를 조회하거나 조작합니다.
예제 1: 판매 데이터에서 특정 월의 최고 판매 기록 조회
WITH MonthlySales AS (
SELECT
store_id,
MONTH(sale_date) month,
SUM(sale_amount) total_sales
FROM Sales
WHERE YEAR(sale_date) = 2023
GROUP BY store_id, MONTH(sale_date)
)
SELECT month, MAX(total_sales) max_sales
FROM MonthlySales
GROUP BY month,
ORDER BY month;
'SQL' 카테고리의 다른 글
DB, RDB, DBMS, RDBMS (1) | 2024.12.09 |
---|---|
기본키(pk), 외래키(fk) 동시 적용 (1) | 2024.10.04 |
SQL - DDL, DML (0) | 2024.10.02 |
SQL 기초2 (0) | 2024.08.25 |
SQL 기초 (0) | 2024.08.23 |