Database/Maria,Mysql

with와 CTE (common table expression)

bluebamus 2022. 8. 29.

WITH 절은 CTE(Common Table Expression) 공통 테이블 식을 표현하기 위한 구문이다.

 

CTE는 개체로 저장되지 않고 쿼리 지속 시간 동안만 존재한다는 점에서 파생 테이블과 비슷하나, 
CTE는 파생 테이블과 달리 자체 참조가 가능하며 동일 쿼리에서 여러 번 참조될 수 있다.

CTE를 사용하여 할 수 있는 것들

1. 재귀 쿼리

2. 일반적인 뷰가 아닌, 메타데이터에 정의를 저장할 필요가 없을 경우 뷰를 대체할 수 있음

3. 스칼라 하위 select에서 파생된 열 혹은 비결정적이거나 외부 액세스가 없는 함수 기준으로 그룹화 할 수 있음

4. 동일 문에서 결과 테이블을 여러번 참조할 수 있음

 

! CTE를 사용하면 가독성이 향상되고 복잡한 쿼리를 쉽게 유지 관리할 수 있다.

 

 

 

참조 : 

WITH절과 CTE (비재귀적): http://sweeper.egloos.com/3000836

 

WITH절과 CTE (비재귀적)

1. WITH CTE WITH 절은 CTE(Common Table Expression) 공통 테이블 식을 표현하기 위한 구문이며, SQLServer 2005부터 등장하였다. MSDN의 CTE 페이지를 참고하자. CTE는 SELECT, INSERT, UPDATE, DELETE 또는 CREATE VIEW 문  하

sweeper.egloos.com

 

댓글