Questo tutorial su Oracle SQL si concentra sull'auto join in Oracle e fornisce sintassi, spiegazioni ed esempi
Un self join in Oracle è un join di Oracle Table a se stesso. Possiamo usare la tabella più volte. Ogni occorrenza dovrebbe avere un nome alias. Il database Oracle durante l'esecuzione della query unisci la tabella con se stessa e produce il risultato
General syntax
select a.col1 ,b.col2 from mytable a,mytable b where <join condition> ;
Alcuni Self Join in Oracle Esempio
(1) Presentazione dei dati gerarchici
Abbiamo una tabella dei dipendenti e vogliamo specificare il nome del dipendente, il nome del manager per tutti i dipendenti. Abbiamo anche un Presidente che non fa rapporto a nessuno da mostrare nella query
La query seguente con self join con outer join per estrarre i dati nel formato desiderato
Ecco alcuni dei punti che vale la pena notare nella query di cui sopra
un. Abbiamo utilizzato alias diversi per l'occorrenza multipla della tabella EMP
b. Abbiamo utilizzato il join esterno sinistro per mostrare anche le informazioni sul presidente
(2) Un altro esempio per estrarre le informazioni sui dipendenti che hanno la stessa data di assunzione
(3) Possiamo usare l'unione automatica per trasporre le righe nella colonna anche. Abbiamo una tabella cliente_fattura che ha più righe per le righe per i diversi mesi dell'anno e vogliamo mostrare l'importo della fattura per i diversi mesi in formato colonna
Desc customer_bill
--------------
Customer_id Varchar2(10)
bill_amount Number
bill_month Varchar2(10)
query sulla tabella
select Customer_id,bill_amount,bill_month from customer_bill where customer_id=1111;
Query per trasporre le righe nella colonna
select a.customer_id , b.bill_amount Jan-amount , c.bill_amount Feb-amount , c.bill_amount Mar-amount from customer_bill a ,customer_bill b, customer_bill c where a.customer_id=b.customer_id , b.customer_id =c.customer_id and a.bill_month='JAN' and b.bill_month='FEB' and c.bill_month='MAR' and a.customer_id=1111;
Allo stesso modo possiamo avere molteplici usi del self join in Oracle. Per favore, fammi sapere se ti piace questo post
Articoli correlati
Oracle sql join:cosa sono Oracle Join con esempi (Sql join), Diversi tipi di join, Inner Join,Outer join,left external join,right external join,cross join con esempi
Esempi di sintassi di Oracle Join :Dai un'occhiata a questo post per esempi di sintassi di Oracle join su inner join, cross join, outer join, left outer join, right external join
Metodo di join in Oracle :Questo post spiega i vari metodi Plan Joins in Oracle, loop nidificato, sort merge join, join cartesiano, hash join per aiutare a capire
Nested Loop Join in Oracle 11g :dai un'occhiata a questa pagina per tutti i dettagli su Nested loop join in Oracle, in che modo Nested Loop Join in Oracle 11g è diverso, come nidificato loop join funziona in Oracle
Hash join in Oracle:dai un'occhiata a questo post per la descrizione dettagliata di Hash join in Oracle, come è diverso da Nested Loop join in Oracle