집 >데이터 베이스 >MySQL 튜토리얼 >단일 SQL 쿼리에서 재귀 CTE를 포함한 여러 CTE를 결합하려면 어떻게 해야 합니까?
단일 SQL 쿼리의 여러 CTE
SQL에서는 단일 쿼리 내에서 여러 CTE(공통 테이블 표현식)를 결합하는 것이 가능합니다. . 이를 위해서는 쿼리 시작 부분에 WITH 키워드를 한 번 사용해야 합니다.
예:
결합하려는 경우 하나의 재귀 CTE와 두 개의 비재귀 CTE. 다음 구문을 사용하면 됩니다.
WITH RECURSIVE cte1 AS (...), cte2 AS ( SELECT ... UNION ALL SELECT ... ), cte3 AS (...) SELECT ... FROM cte3 WHERE ...
이 예에서
참고: RECURSIVE인 경우 CTE의 순서는 중요하지 않습니다. 키워드가 사용됩니다.
재귀적 CTE:
재귀 CTE는 정의에서 자신을 참조할 수 있습니다. 이를 통해 계층적 또는 트리형 구조를 구축할 수 있습니다. 위의 예에서 cte2는 UNION ALL 절에서 자신을 참조하므로 재귀 CTE입니다.
비재귀 CTE:
Non -재귀 CTE는 나중에 쿼리에서 참조할 수 있는 임시 테이블을 정의합니다. 위의 예에서 cte1 및 cte3은 비재귀적 CTE입니다.
위 내용은 단일 SQL 쿼리에서 재귀 CTE를 포함한 여러 CTE를 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!