sql >> Databasteknik >  >> RDS >> Oracle

Gå själv med i orakel med exempel

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


  1. Maximal längd för text av MySQL-typ

  2. Kodtäckningsstatistik

  3. Hur pratar Access med ODBC-datakällor? Del 5

  4. Anslut SQL Server till SugarCRM