Oracle PL/SQL: INNER JOIN ornek kullanimi
Oracle PL/SQL: INNER JOIN
Oracle PLSQL de JOIN birden cok tablodan, yurutelecek bir SQL komutu ile veri cekmek icin kullanılır. Bir tek SQL sorgusu ile iki veya daha fazla sayida tablo mantiksal olarak birlestirilerek istenilen kosulu saglayan satirlar getirilir.
INNER JOIN
En sik kullanilan JOIN tipi olarak bunu soyleyebiliriz. Birden cok tablodan istenilen kosulu saglayan tum satirlari sorgu sonucunda verir. INNER JOIN iki kumenin kesisim bolgesindeki elemanlarin hepsini getirir diyebiliriz.Kesisim bolgesinin sinirlarini da SQL deki kosul belirler. Ornekle aciklamak icin salespeople ve sales isimli iki tane tablomuz olsun:
Person_id | LastName | FirstName |
---|---|---|
10000 | Ali | Yazar |
10001 | Veli | Bozar |
10002 | Satilmis | Dursun |
10003 | Orhan | Gutan |
Order_id | SalesPerson_id | order_date |
---|---|---|
500125 | 10000 | 2003/05/12 |
500126 | 10001 | 2003/05/13 |
500127 | 10004 | 2003/05/14 |
INNER JOIN kullanan Oracle SELECT sorgusunu :
SELECT salespeople.LastName, salespeople.FirstName, sales.order_date FROM salespeople INNER JOIN sales ON salespeople.Person_id = orders.SalesPerson_id;
Bu sorgunun cevabi :
LastName | Firstname | order_date |
---|---|---|
Ali | Yazar | 2003/05/12 |
Veli | Bozar | 2003/05/13 |
Eger sorguyu asagidaki gibi yurutsek
SELECT * FROM salespeople INNER JOIN sales ON salespeople.Person_id = orders.SalesPerson_id;
Ciktisi soyle olacakti
PERSON_ID | LASTNAME | FIRSTNAME | ORDER_ID | SALESPERSON_ID | ORDER_DATE |
---|---|---|---|---|---|
10001 | Bozar | Veli | 500126 | 10001 | 05/13/2003 |
10000 | Yazar | Ali | 500125 | 10000 | 05/12/2003 |
İki tablonun satirlarini karsilastirdigimizda; 1002 ve 1003 id li kisiler icin sales tablosunda sales order kaydı bulunmamaktadir. Salesperson tablosunda da 1004 id kisi icin kayit bulunmamaktadir. 1004 id li satis temsilcisi isten ayrilmis ve kaydi silinmis olabilir. Bu durumda her iki tablodaki ortak person id icin bulunan kayitlardan select de verilen sutunlar sonuc olarak getirilmis olur.
No comments :
Post a Comment