Union, Union All ve Union Distinct Operatörleri Arasındaki SQL Farkı

Union Union All Ve Union Distinct Operatorleri Arasindaki Sql Farki



SQL bize, iki veya daha fazla SELECT ifadesinin sonuç kümelerini tek bir sonuç kümesinde birleştirmemize izin veren UNION işlecini sağlar. SQL'de üç ana UNION işleci türü vardır: UNION, UNION ALL ve UNION DISTINCT.

Bu eğitici yazı, bu üç tür BİRLİĞİ araştırıyor ve onlarla çalışmanın gerçek dünyadan ve pratik örneklerini sunuyor.







NOT: Bu örnekte, gösterim amacıyla örnek Sakila veritabanını kullanacağız. Bu komutları çalıştırmadan önce kurulu olduğundan emin olun. Daha fazla bilgi edinmek için bununla ilgili eğitimimize göz atabilirsiniz.



SQL BİRLİĞİ Operatörü

Bahsedildiği gibi, UNION operatörü iki veya daha fazla seçim ifadesinin sonuç kümesini birleştirmemize ve yinelenen değerleri kaldırmamıza izin verir. UNION operatörünün sözdizimi aşağıdaki gibidir:



sütun1, sütun2, ... SEÇİN
tablo1'den
BİRLİK
sütun1, sütun2, ... SEÇİN
tablo2'den;


Önceki örnek sözdiziminde, belirtilen tablolardan veri almak için SELECT deyimlerini kullanırız. UNION operatörü daha sonra iki sonuç setini tek bir sette birleştirir. Sakila veritabanında tanımlanmış olan aktör tablosunu kullanarak bunun nasıl yapılacağına dair bir örnek verelim.





Aktör tablosundan ve müşterinin tablosundan aktörlerin adlarını ve soyadlarını alan aşağıdaki örnek sorguyu ele alalım:

ad, soyad SEÇİN
İLE aktör
BİRLİK
ad, soyad SEÇİN
müşteriden; ad, soyad SEÇİN
İLE aktör
BİRLİK
ad, soyad SEÇİN
müşteriden;


Önceki sorgu, hem aktör hem de müşteri tablolarından ad ve soyadları alır ve değerleri tek bir sonuç olarak döndürür.



Örnek bir çıktı aşağıdaki gibidir:

SQL UNION ALL Operatörü

Sonuç kümesinden yinelenen değerleri kaldıran UNION operatörünün aksine, UNION operatörü yinelenenler dahil tüm tabloların satırlarını döndürür.

Sözdizimi aşağıdaki gibidir:

sütun1, sütun2, ... SEÇİN
tablo1'den
BİRLİK TÜMÜ
sütun1, sütun2, ... SEÇİN
tablo2'den;


Aşağıdaki örnek, Sakila veritabanındaki aktör ve müşteri tablolarından ad ve soyadını seçer:

ad, soyad SEÇİN
İLE aktör
BİRLİK TÜMÜ
ad, soyad SEÇİN
müşteriden;


Örnek bir çıktı aşağıdaki gibidir:

SQL UNION DISTINCT Operatörü

Diğer tür birleşim operatörü, BİRLİK DISTINCT'dir. Bu operatör, benzer bir eylemi gerçekleştiren UNION operatörünün basit bir kopyasıdır.

Sözdizimi aşağıdaki gibidir:

sütun1, sütun2, ... SEÇİN
tablo1'den
BİRLİK FARKLI
sütun1, sütun2, ... SEÇİN
tablo2'den;


SELECT deyimleri, belirtilen tablolardan verileri alır ve UNION DISTINCT operatörü, sonuç kümelerini benzersiz satırları içeren tek bir sonuç kümesinde birleştirir.

Sakila veritabanı örneğinde aşağıdaki komutu çalıştırabiliriz:

ad, soyad SEÇİN
İLE aktör
BİRLİK FARKLI
ad, soyad SEÇİN
müşteriden;


Bu, UNION işleciyle benzer bir sonuç döndürmelidir.

Çözüm

SQL'de çeşitli UNIONS türleri ile nasıl çalışacağımızı öğrendik. UNION operatörü, iki veya daha fazla seçim ifadesinin sonuç kümesini birleştirir ve yinelenen kayıtları kaldırır. UNION ALL benzer bir eylem gerçekleştirir ancak yinelenen satırları içerir. Son olarak, UNION DISTINCT yerel bir UNION operatörüyle aynıdır.