# WITH
WITH 절(Clause)에 있는 쿼리문에 이름을 부여해 필요시 재사용할 수 있으며, 이를 통해 쿼리문을 더 잘 정리하게 됩니다.
WITH 문이 없다면 FROM 절 안에 SELECT, 또 FROM 안에 SELECT가 들어가는 구조가 될 수 있어 쿼리문을 쉽게 파악하기 어려워집니다
WITH 문의 테이블은 하나의 쿼리 문이 실행되는 동안까지만 지속되는 일회성 테이블이고, 여러 번 활용될 수 있습니다.
WITH 문을 Common Table Expressions(CTE)라고 부르기도 합니다.
이름을 정의한 후, AS
를 꼭 사용해야 합니다.
WITH name AS (
SELECT
col1
FROM
table1
), name2 AS (
SELECT
col2
FROM
table2
)
SELECT
*
FROM
name