Maison > base de données > tutoriel mysql > MySQL peut-il interroger une table de structure arborescente à n'importe quelle profondeur en une seule requête ?

MySQL peut-il interroger une table de structure arborescente à n'importe quelle profondeur en une seule requête ?

Linda Hamilton
Libérer: 2025-01-06 17:33:40
original
445 Les gens l'ont consulté

Can MySQL Query a Tree Structure Table to Any Depth in One Query?

Une table de structure arborescente dans MySQL peut-elle être interrogée à n'importe quelle profondeur en une seule tentative ?

La question se pose de savoir s'il est possible de parcourez une table arborescente dans MySQL et récupérez tous les descendants ou ancêtres, quelle que soit leur profondeur, en un seul requête.

Réponse

Oui, c'est possible. Une technique de traversée d'arbre de précommande modifiée, telle que décrite dans « Arbres et hiérarchies en SQL pour Smarties » de Joe Celko, permet cela. Voici un extrait du document de référence :

SELECT *
FROM tree
ORDER BY FIELD(`left`, @field_list_all, @field_list_current, @field_list_children)
LIMIT 1
Copier après la connexion

Cette requête utilise une « liste de champs » stockée sous forme de variable (@field_list_all) pour suivre le parcours et identifier les nœuds à traiter efficacement. Reportez-vous à la documentation spécifiée pour un exemple complet.

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