Den här Oracle SQL-handledningen fokuserar på att själv gå med i Oracle och ger syntax, förklaringar, exempel
En självanslutning i Oracle är en sammanfogning av oracle-tabellen till sig själv. Vi kan använda tabellen flera gånger. Varje förekomst bör ha ett aliasnamn. Oracle-databas samtidigt som frågan körs sammanfogar tabellen med sig själv och producerar resultatet
General syntax
select a.col1 ,b.col2 from mytable a,mytable b where <join condition> ;
Några själv går med i Oracle-exempel
(1) Presentation av hierarkisk data
Vi har en anställd tabell och vi vill ange medarbetarens namn, chefsnamn för alla anställda. Vi har också en president som inte rapporterar till någon att visa i frågan
Frågan nedan med self join with outer join för att extrahera data i önskat format
Här är några av punkterna som är värda att lägga märke till ovanstående fråga
a. Vi har använt olika alias för den multipla förekomsten av tabellen EMP
b. Vi har använt vänster yttre koppling för att visa presidentinformation också
(2) Ett annat exempel för att extrahera personalinformation som har samma anställningsdatum
(3) Vi kan använda self join för att transponera raderna i kolumnen också. Vi har en customer_bill-tabell som har flera rader för raderna för olika månader under året och vi vill visa fakturabeloppet för olika månader i kolumnformat
Desc customer_bill
--------------
Customer_id Varchar2(10)
bill_amount Number
bill_month Varchar2(10)
tabellfråga
select Customer_id,bill_amount,bill_month from customer_bill where customer_id=1111;
Fråga för att överföra rader till kolumn
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;
På samma sätt kan vi ha flera användningsområden för self join in oracle. Meddela mig gärna om du gillar det här inlägget
Relaterade artiklar
oracle sql join :Vad är Oracle Joins med exempel (Sql joins), Olika typer av joins , Inner Join, Outer Join, Left Outer Join, Right Outer Joins, Cross Joins med exempel
oracle Join syntaxexempel :Kolla in det här inlägget för syntaxexempel för oracle join, cross join, outer join, left outer join, right outer join
Joins Method in Oracle :Det här inlägget förklarar de olika Plan Joins metoderna i Oracle, kapslade loop, sortera sammanfoga join, Cartesian join, hash join för att hjälpa till att förstå
Nested Loop Join i Oracle 11g :Kolla in den här sidan för all information om Nested loop join i oracle, hur Nested Loop Join i Oracle 11g är annorlunda, hur kapslad loop join fungerar i Oracle
Hash join i Oracle:Kolla in det här inlägget för en detaljerad beskrivning av Hash join i Oracle, hur det skiljer sig från Nested Loop join i oracle