İlişkiler ve JOIN
UNION, INTERSECT ve EXCEPT
Satırları yan yana değil, küme olarak birleştir.
Kavramı anlayalım
UNION iki sonucun satırlarını birleştirip tekrarları kaldırır; UNION ALL tekrarları korur ve tekilleştirme maliyeti eklemez. İki SELECT aynı sayıda ve uyumlu tipte sütun üretmelidir. Sonuç sütun adları ilk SELECT’ten alınır.
INTERSECT ortak satırları, EXCEPT solda olup sağda olmayan satırları döndürür; bunlar DISTINCT küme davranışı gösterir. SQL Server bu operatörlerin tekilleştirmesinde NULL değerleri eşit kabul eder. UNION, ilişki kuran JOIN’in alternatifi değildir. Genel sıralama birleşik sorgunun sonunda yer alır.
Kaynak listelerini birleştirme ve iki veri kümesini karşılaştırma için.
UNION ALL ile UNION’ı sonuç tekrarları açısından aynı sanmak.
Aynı konu. Üç farklı derinlik.
SELECT City FROM lab.Customer WHERE CustomerId <= 3
UNION SELECT City FROM lab.Customer WHERE CustomerId > 3;Şehirleri birleşik, tekil küme olarak verir.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Tüm müşteri şehirlerini tekrarlar korunarak iki gruptan birleştir.
Çözümü ve açıklamasını göster
SELECT City FROM lab.Customer WHERE CustomerId <= 3 UNION ALL SELECT City FROM lab.Customer WHERE CustomerId > 3;6 satır döner; UNION kullansaydın 4 şehir dönerdi.