Sélection dans les collections imbriquées

Accès aux tables imbriquées

Soit col un attribut de la table t contenant une collection imbriquée.

SELECT t2.* 
FROM t t1, TABLE(t1.col) t2;

Jointure avec la table imbriquée

La jointure entre la table principale et sa table imbriquée est implicitement réalisée, il ne faut pas la spécifier.

Accès à une collection imbriquée de scalaires

SELECT i.pknom, t.*
FROM tIntervenant i, TABLE(i.ltelephones) t
PKNOM                COLUMN_VALUE
-------------------- ------------
Crozat                  687990000 
Crozat                  912345678 
Crozat                  344231234 
Vincent                 344231235 
Vincent                 687990001 

Accès à une collection imbriquée d'enregistrement

SELECT i.pknom, s.*
FROM tIntervenant i, TABLE(i.lspecialites) s
PKNOM                DOMAINE         TECHNOLOGIE   
-------------------- --------------- ---------------
Crozat               BD              SGBDR           
Crozat               Doc             XML             
Crozat               BD              SGBDRO          
Vincent              IC              Ontologies      
Vincent              BD              SGBDRO      

Accès aux colonnes d'une table imbriquée

SELECT t2.a, t2.b...
FROM t t1, TABLE(t1.col) t2;

Accès à la colonne d'une table imbriquée de scalaires

SELECT t2.COLUMN_VALUE
FROM t t1, TABLE(t1.nt) t2;
SELECT i.pknom, t.COLUMN_VALUE, s.domaine
FROM tIntervenant i, TABLE(i.ltelephones) t, TABLE(i.lspecialites) s
PKNOM                COLUMN_VALUE DOMAINE                                          
-------------------- ------------ -----------
Crozat                  687990000 BD                                                 
Crozat                  687990000 Doc                                                
Crozat                  687990000 BD                                                 
Crozat                  912345678 BD                                                 
Crozat                  912345678 Doc                                                
Crozat                  912345678 BD                                                 
Crozat                  344231234 BD                                                 
Crozat                  344231234 Doc                                                
Crozat                  344231234 BD                                                 
Vincent                 344231235 IC                                                 
Vincent                 344231235 BD                                                 
Vincent                 687990001 IC                                                 
Vincent                 687990001 BD     
Mode diaporama