İÇ Birleştirme ve Dış Birleştirme Arasındaki Fark

Anonim

İç Birleşim ve Dış Birleşim

ailesine aittir. İç ekleme ve Dış Birleştirme, veritabanları için sorgu işlemede kullanılan SQL birleştirmeler yöntemlerinden ikisidir. Birleşim cümlelerinin ailesine aittir (diğer ikisi Sol ve Sağ Katıdır). Bununla birlikte, uzmanlaşmış durumlar için kullanılabilen bir Kendi Kendine Katılma var. Katılmanın amacı, ortak değerleri kullanarak alanları iki tabloya birleştirmektir. Bu birleştirmeler, bir veritabanındaki birden çok tablodaki kayıtları birleştirir. Başka bir tablo olarak kaydedilebilen sonuç kümeleri oluşturur.

İç Katıl nedir?

En sık kullanılan SQL Join işlemi Dahili Katılma'dır. Uygulamalarda kullanılan varsayılan katılım türü olarak düşünülebilir. İç birleşim, iki tabloyu birleştirmek için birleş-yüklem kullanır. İki tabloyu A ve B olarak 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. A ve B tablolarının tüm memnun satırlarının sütun değerleri, sonuç oluşturmak için birleştirilir. İlk önce tüm kayıtların çapraz katılması (Kartezyen çarpım) alınması ve ardından yalnızca birleştirme öngörüsünü yerine getiren kayıtların döndürülmesi gibi gözükebilir. Bununla birlikte, gerçekte, Kartezyen çarpım hesaplanmamaktadır çünkü çok verimsizdir. Bunun yerine, bölme birleştirme veya sıralama birleştirme birleştirmesi kullanılır.

Outer Join nedir?

Aksine, İç birleştirme, dış birleşim eşleşen bir kaydı bulmasa bile tüm kayıtları saklar. Bu, dış birleşimin sonuçta görünmesi için eşleşen bir kayıt bulmak için bir rekora gereksinim duyduğu anlamına gelir. Bunun yerine, tüm kayıtları döndürür, ancak eşleşmeyen kayıtların null değerleri olacaktır. Dış birleştirmeler üç alt kategoriye ayrılmıştır. Bunlar dış birleşime, sağ dış birleşime ve tam dış birleştirmeye bırakılır. Bu farklılaşma, hangi tabloların (sol tablo, sağ tablo veya her iki tablo) satırının eşleşmeyen kayıtlar bulunduğunda korunmasına dayanır. Sol dış birleştirmeler (sol katılma olarak da bilinir) sol tablonun tüm kayıtlarını tutar. Yani, sayı eşleştirme kayıtları sıfır olsa bile, sonuç tablosunda hala kayıtlar olur, ancak B'nin tüm sütunları için boş değerlere sahip olur. Başka bir deyişle, sol tablodaki tüm değerler, sağdan eşleşen değerlerle birlikte döndürülür tablo (veya eşleşmediğinde boş değerler). Sol tablodaki birden çok satırla ilgili değerler sağdaki tablodaki tek bir satırla eşleştirilirse, sağdaki tablodaki satır gerekirse tekrarlanır. Sağ dış birleşim, sol dış birleşim ile hemen hemen aynıdır, ancak tabloların tedavisi saygı görmektedir. Bu, sonucun sağdaki tablonun tüm satırlarını, en az bir kez eşlenen sol tablo değerleriyle (ve eşleşmeyen doğru değerler için null değerleri) alacağı anlamına gelir. Tam dış birleşim hem sağ hem de sol dış birleştirmelerden daha kapsamlıdır. Sol ve sağ dış birleşimlerin birlikte uygulanmasının etkisini birleştirir.

İç Birleştirme ve Dış Birleştirme arasındaki fark nedir?

Inner Join, sonuçtaki eşleşmeyen satırları saklamaz, ancak dış birleşim, tüm kayıtları en az bir tablodan (hangi dış birleştirmenin kullanıldığına bağlı olarak) tutacaktır. Dolayısıyla, sonuç tablosundaki eşleşmeyen satırlar hakkında hiçbir bilginin bulunmaması istenmemektedir, her zaman dış birleştirmelerden birini kullanmanız gerekir (içe birleştirmenin yerine). Hiçbir eşleşme bulunmuyorsa, iç birleşim sonucu üretemez. Ancak dış birleşim, eşleşen satırlar olmadan bile her zaman sonuçta bir tablo üretir. Dahili birleşim her zaman tablolarla birlikte değerler döndürür (eğer döndürülürse). Ancak dış birleştirmeler null değerler içeren tablolara neden olabilir.