[DB] MySQL - WITH절

aseol·2023년 8월 16일
0

MySQL

목록 보기
14/18

CTE (Common Table Expression)

공통 테이블 식

MySQL 8 버전 이상에서 사용 가능
임시로 쿼리 결과를 저장해 놓고 사용한다고 보면 된다!
➡ 하위 쿼리의 결과를 임시로 정의된 테이블처럼 사용할 수 있다.

WITH절

: CTE를 표현하기 위한 구문

  1. 가독성 향상
    복잡하고 긴 쿼리의 각 부분을 분리해서 조각으로 나누고 사용하면 가독성이 향상된다.
  2. 재사용성
    동일한 쿼리를 여러 번 반복해서 사용하지 않아도 되어 코드의 중복을 피할 수 있다.
    (복잡한 쿼리에서 사용시 특히 효율이 좋다)

WITH cte _ WITH절이름( 컬럼명, 컬럼명 ⋯ ) ⏩ 출력되어 보여질 컬럼명을 입력 ( 생략 ⭕ )
AS
(
쿼리 본문 : 주로 SELECT절
)

❔ city table에서 가장 많은 인구수를 가진 도시의 이름과 인구수, 가장 적은 인구수의 도시 이름과 인구수를 조회

CTE 사용하여 조회 🔽

WITHE절의 실행결과는 최대인구수와 최소인구수 2개가 전부이기 때문에, 
이 경우에는 굳이 JOIN 조건 ON을 사용할 필요가 없다.

0개의 댓글