WITH ์ ์ CTE(Common Table Expression)๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด๋ ์ฟผ๋ฆฌ ๋ด์์ ์ผ์์ ์ธ ๊ฒฐ๊ณผ ์งํฉ์ ์์ฑํ์ฌ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ , ๋ฐ๋ณต ๊ณ์ฐ์ ํผํ๋๋ก ํ๋ค. WITH ๊ตฌ๋ฌธ์ ํนํ ๋ณต์กํ ์ฟผ๋ฆฌ๋ ์ฌ๋ฌ ๋ฒ ์ค์ฒฉ๋ ์๋ธ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ์ ์ฉํ๋ค.
ํน์  ๊ธฐ๊ฐ ๋์์ ๋งค์ถ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ฒฝ์ฐ, WITH ์ ์ ์ฌ์ฉํด ๋งค์ถ ์ ๋ณด๋ฅผ ์์ ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
WITH sales_summary AS (
    SELECT
        product_id,
        SUM(sales_amount) AS total_sales,
        COUNT(*) AS sales_count
    FROM
        sales
    WHERE
        sales_date BETWEEN '2023-01-01' AND '2023-12-31'
    GROUP BY
        product_id
)
SELECT
    p.product_name,
    ss.total_sales,
    ss.sales_count
FROM
    products p
JOIN
    sales_summary ss ON p.product_id = ss.product_id
ORDER BY
    ss.total_sales DESC;
์ ์์์์ sales_summary๋ WITH ์ ์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์์ ํ ์ด๋ธ์ด๋ค. ์ด ์์ ํ ์ด๋ธ์๋ ํน์  ๊ธฐ๊ฐ ๋์์ ๋งค์ถ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ดํ products ํ ์ด๋ธ๊ณผ ์กฐ์ธํ์ฌ ๊ฐ ์ ํ์ ๋งค์ถ ์์ฝ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.