Sorgu Oluşturmak ve Çeşitlerini Kullanmak - 3
Normalizasyon formları uygulanarak birden fazla tabloda yer alan verileri tek bir sonuçta gösterebilmek için birleştirme (join) işlemi uygulanır. İki tabloyu birleştirirken bu tabloların ortak olan sütunları birleştirme şartında eşitlenir. Birleştirilecek ortak alanların türlerinin aynı olması gerekmektedir.
Sorgulama esnasında bir tabloya veya kolona takma ad verilmesi sorgunun yazılmasını kolaylaştırmaktadır ve sorguyu anlaşılır kılmaktadır. Sorgular içerisinde hesaplanan değerler görüntülenirken de takma ad kullanılmadığında “No column name” yani “Kolon adı yok” başlığı altında listelenmektedir. Birleştirilen tablolarda aynı isimde kolonlar bulunması durumunda bu kolonlara erişilirken tablo adı uzun hâliyle veya takma adı ile kullanılmalıdır. Aksi takdirde hata sorgu sonucunda hata alınacaktır.
Tabloları birbirleriyle ilişkilendirmek için “Cross Join”, ”Klasik Join”,”Inner Join”,”Outer Join” yöntemleri kullanılmaktadır. “Outer Join”, “Left Join”, “Right Join” ve “Full Join” olmak üzere 3 türden oluşmaktadır.
Çapraz birleştirme, üzerinde işlem yapılan iki tablodaki kayıtları çaprazlamak için kullanılır. İlişkili olsun olmasın birleştirilecek tabloların tüm satırlarını listemektedir. Üzerinde işlem yapılacak iki tablo x ve y tane satırdan oluşuyorsa kartezyen çarpımı sonucu x*y tane satırdan oluşan bir tablo ortaya çıkar.
Eşiti olan birleştirme sonucunda birleştirilen tablolarda ortak değer sahip olan satırlar sonuç olarak döner. Eşiti olan birleştirme “İç Birleştirme (Inner Join)” ya da klasik “Klasik Birleştirme” ile gerçekleştirilebilir.
Dış birleştirme (Outer Join) olarak da adlandırılan Eşiti Olmayan birleştirmede (Outer Join) birleştirme şartına uyan kayıtlarla birlikte şartı sağlamayan diğer kayıtlar da sonuç olarak döner. Eşiti olmayan birleştirme “Left Outer Join”, “Right Outer Join” ve “Full Outer Join” ile gerçekleştirilir.
İki tablo birleştirilirken ilk tabloda yer alan tüm kayıtların listelenmesi, ikinci tablodan ise tabloların birleştirme şartını sağlayan kayıtların listelenmesi istenirse “Left Outer Join” kullanılır. Bu birleştirmede ikinci tabloda karşılığı olmayan satırlar için “NULL” değeri döner. Birleştirme sonucunda ilk tablodaki veriler sol tarafa ikinci tablodan gelen veriler de sağ tarafa yerleşmiş olarak listelenir.
Birleştirilen iki tablodan ikinci tablodaki tüm kayıtların birinci tablodan ise birleştirme koşuluna uyan kayıtların listelenmesi istenirse “Right Outer Join” kullanılır. Birinci tablodan birleştirme koşuluna uymayan satırlar için “NULL” değeri döner. Birleştirme sonucunda birinci tablodaki veriler sol tarafa ikinci tablodan gelen veriler ise sağ tarafa listelenir. Sağ dış birleştirmede birleştirilen iki tablodan ikinci (sağdaki) tablonun tüm kayıtlarını, birinci (soldaki) tablonun ise koşula uyan kayıtları listelenmektedir.
Tüm dış birleştirme (Full Outer Join), “Left Join” ile “Right Join” in birleşmesinden oluşan tablodur denilebilir. Tüm dış birleştirmede Left Join ya da Right Join ayrımı yapılmaksızın iki tabloda yer alan tüm kayıtlar listelenir.