[MySQL] WITH

AI Scientist를 목표로!·2023년 1월 5일
0

WITH문 이란?

  • 임시테이블 또는 가상 테이블의 개념

  • 이름을 가진 SubQuery를 정의한 후 사용하는 구문

  • 반복되는 서브쿼리 블록을 하나의 WITH절 블록으로 만들어서 사용할 수 있음

  • Query의 전체적인 가독성을 높이고, 재사용할 수 있는 장점이 있음

  • 대부분의 DBMS에서 지원

  • 계층형 쿼리 구현 가능


기본 구조

With 별명 AS (SUB QUERY)

  • 컬럼명 생략 가능

  • 쉼표로 구분해 여러개 정의 가능

  • 먼저 생성된 서브쿼리는 후에 생성된 서브 쿼리에서 사용 가능


예제

  • 서브 쿼리 이용 예제
SELECT T1.*
  FROM (
       SELECT A.DEPTNO, A.LOC
       FROM SCOTT.DEPT A
       ) T1
 WHERE 1=1
  • WITH문 이용 예제
WITH DEPT_LOC ( DEPTNO, LOC ) AS (
    SELECT A.DEPTNO, A.LOC
    FROM SCOTT.DEPT A
)

SELECT T1.*
  FROM DEPT_LOC
 WHERE 1=1
profile
딥러닝 지식의 백지에서 깜지까지

0개의 댓글