İ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.
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