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

Plusieurs CTE, y compris les récursifs, peuvent-ils être combinés dans une seule requête SQL ?

Susan Sarandon
Libérer: 2025-01-05 05:19:39
original
469 Les gens l'ont consulté

Can Multiple CTEs, Including Recursive Ones, Be Combined in a Single SQL Query?

Connexion de plusieurs CTE dans une seule requête SQL

Est-il possible de combiner plusieurs expressions de table communes (CTE) au sein d'une seule requête ? L'objectif est d'obtenir un résultat similaire à :

WITH cte1 AS (
...
),
WITH RECURSIVE cte2 AS (
...
),
WITH cte3 AS (
...
)
SELECT ... FROM cte3 WHERE ...
Copier après la connexion

Cette requête intègre un CTE récursif et deux CTE non récursifs.

Solution :

Pour connecter plusieurs CTE en une seule requête :

  • Utilisez le mot-clé AVEC une fois au début.
  • Si des CTE sont récursifs, ajoutez le mot-clé RECURSIVE une fois au début, même si tous les CTE ne sont pas récursifs.

Mise à jour Requête :

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

Points clés :

  • Le mot-clé RECURSIVE permet à un CTE de s'auto-référencer.
  • Avec RECURSIVE, l'ordre des clauses WITH devient sans conséquence.
  • CTE qui ne sont pas référencés dans le le SELECT externe peut ne pas être 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