1.3. Eşiti Olmayan Birleştirme
Eşiti olan birleştirme sırasında bir tablodaki bir sütunun içerdiği değerler diğer tablonun ilgili sütunu ile eşleştirilip sadece eşleşen değerler birleştiriliyordu. Eşleşmeyen satırlar ise birleştirilemiyordu.
Eşleşmeyen satırların da birleştirilip sonuca dâhil edilmesi istenilen durumlarda “Eşiti Olmayan Birleştirme” kullanılmaktadır.
Eşiti olmayan birleştirmeler (dış birleştirmeler), eşleşmeyen kayıtların hangi tabloda olduğuna bakarak sol dış birleştirme veya sağ dış birleştirme olmak üzere iki şekilde olabilmektedir.
Kullanımı:
FROM tablo1 [ LEFT | RIGHT ] JOIN tablo2
ON tablo1.sütun1 karşılaştırma tablo2.sütun2
Buradaki tablo1 ve tablo2 kayıtların birleştirileceği tabloların adını, sütun1 ve sütun2 birleştirilen sütunların adlarını, karşılaştırma ise ("=," "<," ">," "<=," ">=" veya "<>.") gibi işleçleri göstermektedir.
Sol dış birleştirme oluşturmak için LEFT JOIN kullanılır. Soldaki tablodan tüm kayıtlar alınır, sağdaki tabloda eşleşen kayıtlar yazılır ve eşleşmeyen kayıtlar için NULL değer döndürülür.
Sağ dış birleştirme oluşturmak için RIGHT JOIN kullanılır. Sağ dış birleşimler, ilk tablonun (soldaki tablo) kayıtlarında eşleşen değer olmasa bile, iki tablodan ikincisinin (sağdaki tablo) tüm kayıtlarını içerir.
Örneğin, Bölümler (sol) ve Personel (sağ) tablolarında bölüme atanmış personel olmasa bile tüm bölümleri seçmek için LEFT JOIN, herhangi bir bölüme atanmamış olanlar da dâhil, tüm personeli seçmek için ise RIGHT JOIN kullanılır.
Örnek 1:
Eşiti olan birleştirme sırasında bir tablodaki bir sütunun içerdiği değerler diğer tablonun ilgili sütunu ile eşleştirilip sadece eşleşen değerler birleştiriliyordu. Eşleşmeyen satırlar ise birleştirilemiyordu.
Eşleşmeyen satırların da birleştirilip sonuca dâhil edilmesi istenilen durumlarda “Eşiti Olmayan Birleştirme” kullanılmaktadır.
Eşiti olmayan birleştirmeler (dış birleştirmeler), eşleşmeyen kayıtların hangi tabloda olduğuna bakarak sol dış birleştirme veya sağ dış birleştirme olmak üzere iki şekilde olabilmektedir.
Kullanımı:
FROM tablo1 [ LEFT | RIGHT ] JOIN tablo2
ON tablo1.sütun1 karşılaştırma tablo2.sütun2
Buradaki tablo1 ve tablo2 kayıtların birleştirileceği tabloların adını, sütun1 ve sütun2 birleştirilen sütunların adlarını, karşılaştırma ise ("=," "<," ">," "<=," ">=" veya "<>.") gibi işleçleri göstermektedir.
Sol dış birleştirme oluşturmak için LEFT JOIN kullanılır. Soldaki tablodan tüm kayıtlar alınır, sağdaki tabloda eşleşen kayıtlar yazılır ve eşleşmeyen kayıtlar için NULL değer döndürülür.
Sağ dış birleştirme oluşturmak için RIGHT JOIN kullanılır. Sağ dış birleşimler, ilk tablonun (soldaki tablo) kayıtlarında eşleşen değer olmasa bile, iki tablodan ikincisinin (sağdaki tablo) tüm kayıtlarını içerir.
Örneğin, Bölümler (sol) ve Personel (sağ) tablolarında bölüme atanmış personel olmasa bile tüm bölümleri seçmek için LEFT JOIN, herhangi bir bölüme atanmamış olanlar da dâhil, tüm personeli seçmek için ise RIGHT JOIN kullanılır.
Örnek 1: