복잡한 인라인 뷰에 이름을 붙여 쿼리 앞으로 빼 두면 읽기 쉬워지고 여러 번 쓸 수 있다.
왜 그런지까지
WITH 이름 AS (SELECT ...) 로 적어 두면 본 쿼리에서 표처럼 쓸 수 있다. 같은 서브쿼리를 여러 번 쓸 때 특히 좋다.
재귀 WITH 를 쓰면 계층형 질의도 표준 문법으로 풀 수 있다. WITH 는 그 쿼리가 끝나면 사라지므로 뷰와 달리 데이터베이스에 남지 않는다.
WITH 로 부서 평균을 이름 붙여 두고 쓴다
WITH 절 vs 뷰
WITH 는 그 쿼리에서만 살아 있고 끝나면 사라진다. 뷰는 데이터베이스에 이름으로 저장되어 다시 쓸 수 있다.
넣어 두면 오늘 · 1일 · 3일 · 7일 · 14일 · 30일 간격으로 다시 물어봅니다