SQL'de JOIN ve UNION Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Nisan 2021
Güncelleme Tarihi: 5 Mayıs Ayı 2024
Anonim
SQL'de JOIN ve UNION Arasındaki Fark - Teknoloji
SQL'de JOIN ve UNION Arasındaki Fark - Teknoloji

İçerik


JOIN ve UNION, iki veya daha fazla ilişkinin verilerini birleştirmek için kullanılan SQL cümlecikleridir. Ancak elde edilen sonucun verilerini ve formatlarını birleştirme biçimleri farklılık gösterir. KATILMAK fıkra, sonuçta ortaya çıkan tekilleri oluşturmak için iki ilişkinin niteliklerini birleştirir. BİRLİK yan tümcesi iki sorgunun sonucunu birleştirir. Aşağıda gösterilen karşılaştırma tablosu yardımıyla JOIN ve UNION arasındaki farkı tartışalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelKATILMAKBİRLİK
TemelJOIN, bazı ortak alanları veya nitelikleri paylaşan iki farklı ilişkide mevcut olan perdelerin niteliklerini birleştirir.BİRLİK sorguda mevcut olan ilişkilerin tekillerini birleştirir.
Şart, koşulJOIN, dahil olan iki ilişki en az bir ortak özelliğe sahip olduğunda uygulanabilir.UNION, sorguda bulunan sütun sayısı aynı olduğunda ve karşılık gelen nitelikler aynı alana sahip olduğunda uygulanabilir.
TürleriİÇ, TAM (DIŞ), SOL KATIL, SAĞ KATIL.BİRLİK ve BİRLİĞİ TÜM.
Etki, tesirSonuçta ortaya çıkan tupllerin uzunluğu, ilgili ilişkilerin tupllarının uzunluğu ile karşılaştırıldığında daha fazladır.Sonuçta ortaya çıkan tüzüllerin sayısı, sorguda yer alan her ilişkide mevcut tüllerin sayısı ile karşılaştırıldığında daha fazladır.
Diyagram



JOIN'un tanımı

KATILMAK SQL'deki cümle, iki ilişkiden gelen tabloları veya daha uzun bir tuple boyutuyla sonuçlanan tabloları birleştirir. Elde edilen tuple, her iki ilişkiden de nitelikler içerir. Öznitelikler, aralarındaki ortak öznitelikler temelinde birleştirilir. SQL'deki JOIN'in farklı türleri İÇ BİRLEŞTİRME, SOL BİRLEŞTİRME, SAĞ BİRLEŞTİRME, TAM DIŞ BİRLEŞTİRME.

İÇ BİRLEŞİM Her ikisinin arasında ortak bir özellik olduğu sürece, her iki tablodaki perdeleri birleştirir. SOL YÖNDEN KATILIM sol tablonun tüm perdeleri ve sağ tabladan eşleşen tortu ile sonuçlanır. SAĞ BİRLEŞİM sağ bütün tablodaki tüm perdelere ve yalnızca soldaki tablodan eşleşen dizine neden olur. TAM OUTER JOIN Eşleşme niteliklerine sahip olsun veya olmasın, her iki tablodaki tüm dosyalarda sonuçlanır.


INNER JOIN, JOIN ile aynıdır. INNER anahtar sözcüğünü ayrıca bırakabilir ve INNER JOIN işlemini gerçekleştirmek için JOIN özelliğini kullanabilirsiniz.

UNION'un tanımı

BİRLİK, SQL'de ayarlanmış bir işlemdir. UNON iki sorgunun sonucunu birleştirir. UNION'ın sonucu, sorguda yer alan her iki ilişkideki delilleri içeriyor. Karşılanması gereken şartlar, iki ilişkideki BİRLİĞİ alır:

  1. İki ilişki aynı sayıda özelliğe sahip olmalıdır.
  2. İlgili özniteliğin etki alanları aynı olmalıdır.

İki BİRLİK türü vardır BİRLİK ve BİRLİK TÜMÜ. UNION kullanılarak elde edilen sonuç kopyaları içermez. Öte yandan, UNION ALL kullanılarak elde edilen sonuç da aynı şekilde kalıyor.

  1. JOIN ve UNION arasındaki temel fark, JOIN'in iki ilişkiden gelen tekilleri birleştirmesi ve sonuçtaki tekilleri her iki ilişkiden gelen öznitelikleri içermesidir. Öte yandan, UNION iki SELECT sorgusunun sonucunu birleştirir.
  2. JOIN maddesi, sadece ilgili iki ilişkinin her ikisinde de ortak olan en az bir niteliği olduğunda geçerlidir. Öte yandan, UNION, iki ilişki aynı sayıda özelliğe sahip olduğunda ve karşılık gelen özelliklerin etki alanları aynı olduğunda uygulanabilir.
  3. Dört tür JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, TAM OUTER JOIN vardır. Ancak iki tür UNION, UNION ve UNION ALL vardır.
  4. JOIN'de, sonuçta ortaya çıkan demet, her iki ilişkiden gelen öznitelikleri içerdiğinden daha büyük boyuta sahiptir. Öte yandan, UNION'da, sorguda mevcut olan her iki ilişkiden gelen demet dahil olmak üzere, sonuçların sayısı artmaktadır.

Sonuç:

Her ikisi de veri birleştirme işlemleri farklı durumlarda kullanılır. JOIN, ortak en az bir özelliğe sahip iki ilişkinin özelliklerini birleştirmek istediğimizde kullanılır. BİRLİK, sorguda mevcut olan iki ilişkinin tekillerini birleştirmek istediğimizde kullanılır.