Table des matières
Comment Oracle interroge-t-il récursivement les nœuds enfants
Maison base de données Oracle Comment interroger de manière récursive les nœuds enfants dans Oracle

Comment interroger de manière récursive les nœuds enfants dans Oracle

Jan 25, 2022 pm 02:38 PM
oracle

Dans Oracle, vous pouvez utiliser l'instruction select pour interroger de manière récursive les nœuds enfants. La fonction de cette instruction est d'effectuer une requête simple sur les données de la table. La syntaxe est "SELECT * FROM table name START WITH condition 1 CONNECT BY PRIOR condition 2. OÙ état 3".

Comment interroger de manière récursive les nœuds enfants dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Comment Oracle interroge-t-il récursivement les nœuds enfants

Structure grammaticale

SELECT ... FROM    + 表名  START WITH + 条件1 CONNECT BY PRIOR + 条件2  WHERE  + 条件3

Condition 1 : il s'agit d'une instruction de qualification pour le nœud racine. Bien sûr, les conditions de qualification peuvent être assouplies pour obtenir plusieurs nœuds racines, c'est-à-dire plusieurs arbres ; dans la relation de connexion, en plus des colonnes, les expressions de colonnes sont également autorisées. La clause START WITH est facultative et est utilisée pour identifier le nœud utilisé comme nœud racine de l'arborescence de recherche. Si cette clause est omise, cela signifie que toutes les lignes qui satisfont aux conditions de requête sont utilisées comme nœuds racine.

Condition 2 : Il s'agit d'une condition de connexion, dans laquelle PRIOR est utilisé pour représenter l'enregistrement précédent, par exemple, CONNECT BY PRIOR STUDENT_ID = GRADE_ID, ce qui signifie que le STUDENT_ID de l'enregistrement précédent est le GRADE_ID de cet enregistrement, c'est-à-dire , le père de cet enregistrement est l'enregistrement précédent. La clause CONNECT BY indique que chaque ligne de données sera récupérée dans un ordre hiérarchique et spécifie que les données de la table seront connectées dans une relation arborescente. L'opérateur PRIOR doit être placé devant l'une des deux colonnes de la relation de jointure. Pour les relations parent-enfant entre nœuds, l'opérateur PRIOR représente le nœud parent d'un côté et le nœud enfant de l'autre côté, déterminant ainsi si l'ordre dans lequel la structure arborescente est recherchée est descendant ou ascendant.

Condition 3 : Il s'agit d'une condition de filtrage, utilisée pour filtrer les enregistrements renvoyés.

Remarque :

1. CONNECT BY PRIOR est utilisé dans les requêtes structurées

2 La fonction de START WITH... CONNECT BY PRIOR... est de stocker une structure arborescente à l'intérieur et à l'extérieur d'une table.

Traversez vers le nœud racine à travers les nœuds enfants.

select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid

Traversez les nœuds enfants via le nœud racine (à l'exclusion du nœud racine).

select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid

Traversez les nœuds enfants via le nœud racine (y compris le nœud racine).

select * from persons.dept start with deptid=0 connect by prior deptid=paredeptid

Peut être transmis via le mot-clé de niveau Rechercher le niveau.

select a.*,level from persons.dept a start with paredeptid=0 connect by prior deptid=paredeptid

Remarque :

commencez par... connectez-vous par utilisation, ce qui suit commence par est la graine récursive.

La graine de récursion est l'endroit où commence la récursion. Le "prior" après la connexion. Par défaut : seule la ligne de départ qui remplit les conditions peut être interrogée, et aucune requête récursive ne sera effectuée

Les champs placés après la connexion ; par prior Il est pertinent et indique la direction de la requête.

Exercice : Obtenez le nœud supérieur via les nœuds enfants

select FIRST_VALUE(deptid) OVER (ORDER BY LEVEL DESC ROWS UNBOUNDED PRECEDING) AS firstdeptid from persons.dept start with deptid=76 connect by prior paredeptid=deptid

Structure de la table

DEPTID PAREDEPTID NAME
NUMBER NUMBER CHAR (40 Byte)

ID du département Identifiant du département parent (ID du département) Nom du département

Tutoriel recommandé : "Tutoriel vidéo Oracle"

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment désinstaller MySQL et nettoyer les fichiers résiduels Comment désinstaller MySQL et nettoyer les fichiers résiduels Apr 29, 2025 pm 04:03 PM

Pour désinstaller MySQL en toute sécurité et en toute sécurité et nettoyer tous les fichiers résiduels, suivez les étapes suivantes: 1. Stop MySQL Service; 2. Désinstaller les packages MySQL; 3. Nettoyer des fichiers de configuration et des répertoires de données; 4. Vérifiez que la désinstallation est approfondie.

Le rôle d'Oracle dans le monde des affaires Le rôle d'Oracle dans le monde des affaires Apr 23, 2025 am 12:01 AM

Oracle n'est pas seulement une entreprise de base de données, mais aussi un leader des systèmes de cloud computing et ERP. 1. Oracle fournit des solutions complètes de la base de données aux services cloud et aux systèmes ERP. 2. OracleCloud défie AWS et Azure, fournissant des services IaaS, PaaS et SaaS. 3. Les systèmes ERP d'Oracle tels que E-BusinessSuite et FusionApplications aident les entreprises à optimiser les opérations.

MongoDB vs Oracle: Comprendre les différences clés MongoDB vs Oracle: Comprendre les différences clés Apr 16, 2025 am 12:01 AM

MongoDB convient pour gérer les données non structurées à grande échelle, et Oracle convient aux applications au niveau de l'entreprise qui nécessitent la cohérence des transactions. 1.MongoDB offre une flexibilité et des performances élevées, adaptées au traitement des données de comportement des utilisateurs. 2. Oracle est connu pour sa stabilité et ses fonctions puissantes et convient aux systèmes financiers. 3.MongoDB utilise des modèles de documents et Oracle utilise des modèles relationnels. 4.MongoDB convient aux applications de médias sociaux, tandis qu'Oracle convient aux applications au niveau de l'entreprise.

MongoDB vs Oracle: Choisir la bonne base de données pour vos besoins MongoDB vs Oracle: Choisir la bonne base de données pour vos besoins Apr 22, 2025 am 12:10 AM

MongoDB convient aux données non structurées et aux exigences élevées d'évolutivité, tandis qu'Oracle convient aux scénarios qui nécessitent une cohérence stricte des données. 1.MongoDB Stockez de manière flexible les données dans différentes structures, adaptées aux médias sociaux et à l'Internet des objets. 2. Le modèle de données structuré Oracle garantit l'intégrité des données et convient aux transactions financières. 3.MongoDB éclate horizontalement à travers des éclats, et Oracle évolue verticalement à travers RAC. 4.MongoDB a des coûts de maintenance faibles, tandis qu'Oracle a des coûts d'entretien élevés mais est entièrement pris en charge.

Le choix de Centos après l'arrêt de l'entretien Le choix de Centos après l'arrêt de l'entretien Apr 14, 2025 pm 08:51 PM

CentOS a été interrompu, les alternatives comprennent: 1. Rocky Linux (meilleure compatibilité); 2. Almalinux (compatible avec CentOS); 3. Serveur Ubuntu (configuration requise); 4. Red Hat Enterprise Linux (version commerciale, licence payante); 5. Oracle Linux (compatible avec Centos et Rhel). Lors de la migration, les considérations sont: la compatibilité, la disponibilité, le soutien, le coût et le soutien communautaire.

Peut-il vscode exécuter kotlin Peut-il vscode exécuter kotlin Apr 15, 2025 pm 06:57 PM

L'exécution de Kotlin dans VS Code nécessite la configuration de l'environnement suivant: Java Development Kit (JDK) et les plugins liés au compilateur Kotlin Kotlin (tels que le langage Kotlin et l'extension Kotlin pour le code vs) créent des fichiers Kotlin et exécutez du code pour les tests pour garantir que la configuration de l'environnement est réussie

Quel logiciel est le meilleur pour Yi Framework? Logiciel recommandé pour Yi Framework Quel logiciel est le meilleur pour Yi Framework? Logiciel recommandé pour Yi Framework Apr 18, 2025 pm 11:03 PM

Résumé du premier paragraphe de l'article: Lors du choix du logiciel pour développer des applications de framework YI, plusieurs facteurs doivent être pris en compte. Bien que les outils de développement d'applications mobiles natifs tels que Xcode et Android Studio puissent offrir un contrôle et une flexibilité solides, les cadres multiplateformes tels que React Native et Flutter deviennent de plus en plus populaires avec les avantages de pouvoir se déployer sur plusieurs plates-formes à la fois. Pour les développeurs nouveaux dans le développement mobile, les plates-formes à faible code ou sans code telles que Appsheet et Glide peuvent créer rapidement et facilement des applications. De plus, les fournisseurs de services cloud tels que AWS Amplify et Firebase fournissent des outils complets

MySQL vs Oracle: licence, fonctionnalités et avantages MySQL vs Oracle: licence, fonctionnalités et avantages May 08, 2025 am 12:05 AM

La principale différence entre MySQL et Oracle est les licences, les fonctionnalités et les avantages. 1. Licence: MySQL fournit une licence GPL gratuitement, et Oracle adopte une licence propriétaire, qui est coûteuse. 2. Fonction: MySQL a des fonctions simples et convient aux applications Web et aux petites et moyennes entreprises. Oracle a des fonctions puissantes et convient aux données à grande échelle et aux entreprises complexes. 3. Avantages: MySQL est sans source, adapté aux startups, et Oracle est fiable en performances, adapté aux grandes entreprises.

See all articles