Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> software >> Software Database >> .

Come fare un outer join in Oracle

Oracle outer join sono un modo di visualizzazione dei dati senza filtraggio aggiuntivi di record. Se due tabelle contengono dati correlati , è probabile che una delle tavole possono non avere alcun record . Questo può accadere solo quando non ci sono vincoli sulle tabelle relative che i record devono essere presenti. Per esempio, se una società ha un numero di clienti , è possibile che in qualsiasi momento il cliente può non aver ordinato alcun prodotto . La situazione inversa può anche essere vero , nel senso che i prodotti possono non avere clienti a loro assegnati. Istruzioni
1

Selezionare due tabelle da database Oracle per cui ci possono essere i record esistenti in un unico , ma non necessariamente in un altro. La tabella con i record eventualmente mancanti sarà conosciuta come la tabella esterna in questo caso .
2

Scegliere l' ordine della query , in termini di decidere quale delle tabelle indicate nella query (a sinistra o destra) formeranno il join esterno . Un esempio rende più chiara la seguente:

selezionare c.customerlastname , Stati

p.productid

da

cliente c , productorders
p

dove c.customerid = p.customerid ;

da questa query una decisione deve essere fatta , Avete bisogno di un elenco di tutti gli ordini per i prodotti con ( o senza ) i clienti o la situazione inversa vale a dire un elenco di clienti con o senza ordini ?
3

Inserire una ( + ) indicatore per identificare la tabella da cui righe opzionali vengono restituiti cioè avere i record o no . In questo esempio la tabella dei prodotti può o non può avere ordini contro di loro , e quindi questo sarà un join esterno sinistro :

selezionare c.customerlastname , Stati

p.productid

da

cliente c , productorders p

dove c.customerid = p.customerid ( + ) ;

Se la query necessaria per trovare i prodotti che non possono avere i clienti contro li , la cui clausola sarebbero:

dove c.customerid ( + ) = p.customerid ;
4

eseguire la query e restituisce il risultato . L' esempio a sinistra outer join restituirà i record simili al seguente :

c.customerlastname 123423

Jones

 

software © www.354353.com