İç katılmak vs dış katılmak
İç birleşim ve Dış birleşim, veritabanları için sorgu işlemede kullanılan SQL birleştirme yöntemlerinden ikisidir. Birleştirme cümleleri ailesine aittir (diğer ikisi Sol ve Sağ Birleşimlerdir). Ancak, özel durumlar için kullanılabilen bir Kendiliğinden Katılma vardır. Join'ın amacı, ortak değerleri kullanan alanları iki tabloya birleştirmektir. Bu birleşimler, bir veritabanındaki birden çok tablodaki kayıtları birleştirir. Başka bir tablo olarak kaydedilebilen sonuç kümeleri oluşturur.
İç Birleştirme Nedir?
En sık kullanılan SQL Birleştirme işlemi İç Birleştirme'dir. Uygulamalarda kullanılan varsayılan birleştirme türü olarak düşünülebilir. İç birleşim iki tabloyu birleştirmek için join-yüklemini kullanır. İki tablonun A ve B olduğunu varsayarsak, birleşim yüklemi yüklemi karşılayan tüm çiftleri bulmak için A ve B sıralarını karşılaştıracaktır. Sonuç oluşturmak için A ve B tablolarının tüm memnun satırlarının sütun değerleri birleştirilir. İlk olarak tüm kayıtların çapraz birleştirmesini (Kartezyen ürün) alarak ve daha sonra yalnızca birleştirme yüklemini karşılayan kayıtları döndürerek görülebilir. Bununla birlikte, gerçekte, Kartezyen ürün çok verimsiz olduğu için hesaplanmaz. Bunun yerine karma birleştirme veya sıralama birleştirme birleştirme kullanılır.
Dış Katılma Nedir?
İç birleşmeden farklı olarak dış birleş, eşleşen bir kayıt bulamasa bile tüm kayıtları tutar. Bu, dış birleşmenin, sonuçta görünmesi için eşleşen bir kayıt bulmak için bir kayda ihtiyaç duyduğu anlamına gelir. Bunun yerine, tüm kayıtları döndürür, ancak eşleşmeyen kayıtlar boş değerlere sahip olur. Dış birleşimler üç alt kategoriye ayrılır. Sol dış birleşim, sağ dış birleşim ve tam dış birleşimdir. Bu farklılaşma, eşleşmeyen kayıtlar bulunduğunda hangi tablonun (sol tablo, sağ tablo veya her iki tablo) satırının korunacağını temel alır. Sol dış birleşimler (sadece sol birleşim olarak da bilinir) sol tablonun tüm kayıtlarını tutar. Bu, sayı eşleşen kayıtlar sıfır olsa bile, sonuç tablosunda yine de kayıtlara sahip olacağı, ancak B'nin tüm sütunları için boş değerlere sahip olacağı anlamına gelir. Diğer bir deyişle, sol tablodaki tüm değerler, sağdan eşleşen değerlerle döndürülür tablo (veya eşleşmediğinde boş değerler). Sol tablodaki birden çok satırdaki değerler sağ tablodaki tek bir satırla eşleşirse, sağ tablodaki satır gerektiği gibi tekrarlanır. Sağ dış birleşim sol dış birleşmeye oldukça benzer, ancak tabloların tedavisi saygı görür. Bu, sonucun sağ tablonun tüm satırlarına eşleşen sol tablo değerleriyle (ve eşleşmeyen sağ değerler için null değerlerle) en az bir kez sahip olacağı anlamına gelir. Tam dış bağlantı hem sol hem de sağ dış bağlantılardan daha kapsamlıdır. Birleştirilmiş hem sol hem de sağ dış uygulamanın etkisinin birleştirilmesi ile sonuçlanır..
İç Birleştirme ve Dış Birleştirme arasındaki fark nedir?
İç Birleştirme sonuçta eşleşmeyen satırları tutmaz, ancak dış birleştirme tüm kayıtları en az bir tablodan (hangi dış birleştirmenin kullanıldığına bağlı olarak) tutar. Bu nedenle, sonuç tablosunda eşleşmeyen satırlar hakkında hiçbir bilginin bulunmaması davranışı istenmeyen bir durumdur, her zaman dış eklemlerden birini (iç birleşim yerine) kullanmanız gerekir. Eşleşme bulunmazsa iç birleşim sonuç vermeyebilir. Ancak dış birleşim, eşleşen satırlar olmasa bile her zaman sonuçta ortaya çıkan bir tablo oluşturur. İç birleşim her zaman değerleri olan tabloları döndürür (döndürülürse). Ancak dış birleşimler boş değerli tablolara neden olabilir.