Maison >base de données >Oracle >Comment utiliser Connect by dans Oracle

Comment utiliser Connect by dans Oracle

WBOY
WBOYoriginal
2022-08-01 16:27:217393parcourir

Dans Oracle, "connect by" est utilisé pour rechercher des données dans les structures d'attributs, et la syntaxe est "select * from table [start with condition1] connect by [prior] id=parentid" où "start with condition1" est utilisé ; pour limiter la première couche de données, ou données du nœud racine, recherche la deuxième couche de données en fonction de cette partie du contenu.

Comment utiliser Connect by dans Oracle

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

Comment utiliser Connect by dans Oracle

Syntaxe de base

select * from table [start with condition1] connect by [prior] id=parentid

Généralement utilisé pour rechercher des données dans une structure arborescente

commencer par la condition1 est utilisé pour limiter la première couche de données, ou les données du nœud racine à ; Cette partie des données est utilisée comme base pour trouver les données de deuxième niveau, puis les données de deuxième niveau sont utilisées pour trouver les données de troisième niveau, et ainsi de suite.

connect by [prior] id=parentid Cette partie est utilisée pour indiquer le type de relation qu'Oracle utilise lors de la recherche de données. Par exemple, lors de la recherche de données de deuxième niveau, utilisez l'identifiant des données de premier niveau pour correspondre au les données dans la table correspondent au champ parentid de l'enregistrement. Si cette condition est vraie, les données trouvées seront les données de la deuxième couche. De même, la troisième couche, la quatrième couche, etc. sont mises en correspondance de cette manière.

Le mot-clé level représente le numéro de niveau dans la structure arborescente ; le premier niveau est le numéro 1 et le deuxième niveau est le numéro 2, augmentant dans l'ordre.

Les exemples sont les suivants :

select rownum from dual connect by rownum<=10;

Comment utiliser Connect by dans Oracle

SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10

Comment utiliser Connect by dans Oracle

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:
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