1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.

SQL’de UNION / UNION ALL GROUP BY ile nasıl kullanılır?

'Veritabanları' forumunda Powers tarafından 23 Ocak 2013 tarihinde açılan konu

  1. Powers

    Powers Administrator Site Yetkilisi

    UNION ve UNION ALL komutları SQL'de iki sorguyu tek bir tabloda alt alta toplamak için kullanılır.

    Örnek verecek olursak elinizde bir kursun öğretmen kayıtlarını kaydettiğimiz bir tablo olsun. Bu tabloda 3 farklı sütun olsun. Bu sütunlar öğretmenin verebileceği 3 dersin kaydını alabilsin. Bu 3 dersi tek tabloda alt alta listelemek istediğimizde ne yapmamız gerekir?

    İşte cevap;

    Tablo adı ogretmen, birleşecek 3 sütun brans1, brans2, brans3 olsun

    SELECT ogretmen.brans1 from ogretmen GROUP BY ogretmen.brans1
    UNION
    SELECT ogretmen.brans2 from ogretmen GROUP BY ogretmen.brans2
    UNION
    SELECT ogretmen.brans3 from ogretmen GROUP BY ogretmen.brans3

    Peki bu şekilde istediğimiz sonucu aldık UNION ALL ile UNION arasındaki fark nedir diye soracak olursanız cevap UNION mükerrer kayıtları getirmez, UNION ALL ise tüm kayıtları olduğu gibi listeler.

    SELECT ogretmen.brans1 from ogretmen GROUP BY ogretmen.brans1
    UNION ALL
    SELECT ogretmen.brans2 from ogretmen GROUP BY ogretmen.brans2
    UNION ALL
    SELECT ogretmen.brans3 from ogretmen GROUP BY ogretmen.brans3
     
    Tags:
  2. Powers

    Powers Administrator Site Yetkilisi

    Order by kullanılan tabloda group by yazmak hata dönderecektir. Bu durumda alfabetik sıralama yapmak için

    SELECT ogretmen.brans1 as brans from ogretmen GROUP BY ogretmen.brans1
    UNION
    SELECT ogretmen.brans2 from ogretmen GROUP BY ogretmen.brans2
    UNION
    SELECT ogretmen.brans3 from ogretmen GROUP BY ogretmen.brans3 ORDER BY brans

    kullanılabilir
     

Bu Sayfayı Paylaş

Yükleniyor...