-
MySQL CTE 요약공부하기/데이터베이스 2023. 2. 10. 15:58
CTE:
- MySql 8.0 버전부터 도입된 새로운 기능
- 서브쿼리로 쓰이는 파생 테이블과 비슷한 개념이다.
- 파생된 테이블과 마찬가지로 CTE는 객체로 저장되지 않으며 쿼리 실행 중에만 지속된다.
문법
WITH cte_name (column_list) AS ( query ) SELECT * FROM cte_name; -> 정리 cte_name CTE의 이름 column_list는 옵셔널 넣지 않으면 반환되는 결과의 모든 컬럼 CTE의 쿼리문으로 걸러진 결과값으로 SELECT 하기 때문에 성능적으로 우수 CTE에 조건 쿼리, 아래 SELECT문으로 원하는 결과 쿼리를 사용하여 가독성이 좋은것으로 추정
예제
WITH CTE테이블 AS ( SELECT lastname, firstname FROM users WHERE age > 24 ) SELECT lastname,firstname FROM CTE테이블 WHERE firstname = '김' ORDER BY lastname; -> 정리 users테이블에서 age > 24인 행들을 모두 불러온 후 그 결과 내에서 SELECT문으로 원하는 데이터를 추출
'공부하기 > 데이터베이스' 카테고리의 다른 글
다양한 데이터베이스 특징 (0) 2023.02.18 MySQL UNION 요약 (0) 2023.02.10 MySQL EXISTS 요약 (0) 2023.02.10 MySQL Subquery 요약 (0) 2023.02.10 MySQL GROUP BY 요약 (0) 2023.02.09