Maison > base de données > tutoriel mysql > Plusieurs CTE peuvent-ils être combinés dans une seule requête SQL ?

Plusieurs CTE peuvent-ils être combinés dans une seule requête SQL ?

Patricia Arquette
Libérer: 2025-01-01 10:49:11
original
201 Les gens l'ont consulté

Can Multiple CTEs Be Combined in a Single SQL Query?

Requête avec plusieurs CTE

La pratique conventionnelle nécessite souvent de combiner plusieurs expressions de table communes (CTE) pour réaliser des tâches complexes de récupération de données. Cependant, des doutes subsistent quant à la faisabilité de combiner plusieurs CTE dans une seule requête SQL.

Prise en charge de plusieurs CTE

En effet, il est tout à fait réalisable de combiner plusieurs CTE au sein d'une seule requête SQL. La syntaxe nécessite l'utilisation du mot-clé WITH une seule fois, positionné en début de requête. Même lorsqu'il s'agit d'un mélange de CTE récursifs et non récursifs, le mot-clé RECURSIVE ne doit être inclus qu'une seule fois en haut.

Par exemple :

WITH RECURSIVE
  cte1 AS (...)         -- non-recursive
, cte2 AS (SELECT ...
           UNION ALL
           SELECT ...)  -- recursive
, cte3 AS (...)
SELECT ... FROM cte3 WHERE ...
Copier après la connexion

Il est à noter que l'ordre des clauses CTE n'ont plus d'importance lorsque le mot-clé RECURSIVE est présent. Conformément au manuel SQL, il permet aux requêtes CTE de faire des références à d'autres CTE quel que soit leur ordre dans la clause WITH.

De plus, les CTE non récursifs qui ne sont pas référencés dans l'instruction SELECT finale et n'ont pas aucun effet collatéral ne sera exécuté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal