TABLOLARIN BİRLEŞTİRİLMESİ (İnner join - Left Outer Join - Right Outer Join - Full Outer Join - Natural Join - Self Join - İntersect - Except - Union - Union All)

                 

               İNNER JOİN



Sadece ilişkili satırları gösterir.



Kullanım Şekli;

  select * from tabloA inner join tabloB on tabloA.ortaksütun=tabloB.ortaksütun

!! İnner join yerine sadece join yazsak da olur.


                   OUTER JOİN

  

      Left Outer Join

  A tablosunun bütün satırlarını gösterir. A tablosunun B tablosuyla ilişkisi bulunmayan satırlarında karşılık olarak B tablosunda NULL değer gözükür.



             Kullanım Şekli;
             
 select * from tabloA left outer join tabloB on tabloA.ortaksütun=tabloB.ortaksütun

 select * from tabloA, tabloB where tabloA.ortaksütun=tabloB.ortaksütun(+)


    Right Outer Join

  B tablosunun bütün satırlarını gösterir. B tablosunun A tablosuyla ilişkisi bulunmayan satırlarında karşılık olarak A tablosunda NULL değer gözükür.






      Kullanım Şekli;

  select * from tabloA right outer join tabloB on tabloA.ortaksütun=tabloB.ortaksütun

  select * from tabloA, tabloB where (+)tabloA.ortaksütun=tabloB.ortaksütun



      Full Outer Join

  A ve B tablolarının bütün satırlarını gösterir.İlişki olmayan satırlarda gerçek değer olmayan tafarta NULL deger gözükür.





       Kullanım Şekli;

  select * from tabloA full outer join tabloB on tabloA.ortaksütun=tabloB.ortaksütun




     Ortak Sütunu Bulunmayan Tabloları Birleştirme


  Ortak sütuna sahip tablolar where ifadesi veya join ifadeleriyle birleşmektedir.Eğer birleştirme yapacak ortak sütun yoksa birleştirme işleminde koşul olarak eşitleme yerine BETWEEN ifadesi kullanılır.Between ifadesi yerine <= ve >= operatörleri de kullanılabilir.

!! İlerde bu konuyla ilgili örnek kuyulacak

                   

                      Cross Join

  Birleştirilen tablolardaki tüm satırların listelemesini sağlar.Sorgu sonucu iki tablonun satırlarının sayısının çarpımı kadar satırdan oluşmaktadır.İlk tablonun her satırı ikinci tablonun satır sayısı kadar tekrar edilecektir.

!! Tabloların ortak sütuna sahip olma zorunluluğu yoktur.


           Natural Join

Bu tür birleştirme işleminde birleştirilecek tablolar için koşul ifadesi belirtmeye gerek yok.Sadece tablo isimlerinin yazılması yeterlidir.
Ortak sütunlar otomatik olarak birleştirilir ve tek bir sütun olarak gösterilir.Ortak sütun sayısı bir tane ise eşit birleştirmeyle aynı sonucu verecektir.



                     İNTERSECT - İki Sorgunun Kesişimi 

Select ifadesiyle yaptığımız iki veya daha fazla sorgunun kesişim kümesini bulmak için kullanılır.

      Kullanım Şekli;

select * from tablo1 İNTERSECT select * from tablo2 



        EXCEPT - İki Sorgunun Farkı

Bir sorguda olupta diğerinde olmayan verileri gösterir.

    Kullanım Şekli;

select * from tablo1 EXCEPT select * from tablo2




      UNİON VE UNİON ALL - İki Sorguyu Birleştirme


Unionda hem kesişim hemde farkı bulmuş oluruz.Aynı sütunları bir kez daha yazmaz.

select * from tablo1 UNİON  select * from tablo2


Union All iki sorgudaki bütün satırlar gösterilir.

select * from tablo1 UNİON  ALL select * from tablo2


   


Hiç yorum yok:

Yorum Gönder