Ana içeriğe geç

SQL UNION Kullanımı: Farklı Tablolardaki Verileri Birleştirme

Bu Rehberde Ne Öğreneceksiniz?

Bu rehber, SQL’de UNION ve UNION ALL operatörlerinin doğru kullanımını öğretir.
Farklı tablolardaki benzer verileri tek sonuç kümesinde toplarsınız.
Filtreleme, sıralama ve performans farklarını net şekilde kavrarsınız.


🧠 Teknik Özet

Ana konu: SQL UNION ve UNION ALL operatörleri.
Çözülen problem: Ayrı tablolardaki benzer verileri tek liste halinde sunmak.
Adımlar: UNION mantığı, WHERE ile filtreleme, ORDER BY ile sıralama.


1. UNION Operatörünün Temel Mantığı

UNION, iki SELECT sorgusunun sonuçlarını birleştirir.
Tekrar eden satırlar otomatik olarak kaldırılır.

SELECT musteri_adi FROM kitap_satis
UNION
SELECT musteri_adi FROM kitap_kiralama;
  • Bu sorgu, tüm benzersiz müşterileri listeler.

2. UNION Kullanım Kuralları

  • UNION doğru çalışması için bazı şartlar ister.
  1. Sütun sayıları eşit olmalıdır

  2. Sütun sıraları aynı olmalıdır

  3. Veri tipleri uyumlu olmalıdır

  4. Bu kurallar ihlal edilirse hata veya yanlış sonuç oluşur.


3. WHERE ile Filtreleme

  • Her SELECT sorgusu kendi WHERE koşulunu kullanabilir.

SELECT kitap_adi FROM kitap_satis
WHERE musteri_adi = 'Ahmet'
UNION
SELECT kitap_adi FROM kitap_kiralama
WHERE musteri_adi = 'Ahmet';
  • Bu sorgu, Ahmet’in tüm okuduğu kitapları getirir.

4. ORDER BY ile Sonuçları Sıralama

  1. ORDER BY her zaman sorgunun en sonunda yer alır. Sıralama, birleşmiş sonuç kümesine uygulanır.

SELECT kitap_adi FROM kitap_satis
WHERE musteri_adi = 'Ahmet'
UNION
SELECT kitap_adi FROM kitap_kiralama
WHERE musteri_adi = 'Ahmet'
ORDER BY kitap_adi;
  • Bu komut kitapları alfabetik sıralar.

5. UNION ALL ile Tekrarları Korumak

  1. UNION tekrarları siler. UNION ALL tekrarları korur ve daha hızlı çalışır.

SELECT kitap_adi FROM kitap_satis
UNION ALL
SELECT kitap_adi FROM kitap_kiralama;
  • Bu sorgu tüm kayıtları olduğu gibi birleştirir.
  • Performans notu: Büyük veri setlerinde UNION ALL daha verimlidir.

❓ Sıkça Sorulan Sorular (SSS)

1. UNION ile JOIN arasındaki fark nedir? JOIN sütunları birleştirir, UNION satırları birleştirir.

2. Sütun adları farklıysa UNION çalışır mı? Evet, veri tipleri uyumluysa çalışır.

3. Birden fazla UNION kullanabilir miyim? Evet, birden fazla SELECT sorgusu zincirlenebilir.

4. UNION neden bazı kayıtları kaybettirir? Tekrar eden satırları otomatik temizler.


🎯 Sonuç

UNION, raporlama ve analiz için güçlü bir araçtır. UNION ALL performans odaklı senaryolar için idealdir. Doğru kullanım, temiz ve tutarlı sonuç üretir.

SQL projelerinizi güvenli ve yüksek performanslı altyapıda çalıştırmak için Rabisu Bulut platformunu hemen deneyebilirsiniz.