UNION ve UNION ALL komutları ile birden fazla sorguyu birleştirerek tek sonuç elde ederiz.
UNION komutu, sonuçların duplicate edilmesini engeller. Yani union komutu, DISTINCT komutu ile select sorgusu yazmak gibi düşünülebilir.
UNION ALL'da ise kayıtların duplicate olup olmadığına bakılmaz.
Komutlar hakkında kısa bilgi verdikten sonra örneğe geçiyorum.
"uye" adında bir tablom var ve tabloda aşağıdaki gibi 7 kayıt bulunuyor.
Şimdi Ulke alanı ABD olan kayıtları çekiyorum.
SELECT * FROM uye WHERE Ulke = 'ABD'
No alanı 30'dan büyük olan kayıtları çekiyorum.
SELECT * FROM uye WHERE No > 30
Şimdi bu kayıtları UNION ALL kullanarak birleştiriyorum.
SELECT * FROM uye WHERE Ulke = 'ABD'
UNION ALL
SELECT * FROM uye WHERE No > 30
Görüldüğü gibi Bobby Dixon'ın ülkesi ABD ve numarası 30'dan büyük olduğu için sorgu sonucunda iki kere gözüktü.
Şimdi UNION ALL yerine UNION komutunu kullanıyorum.
SELECT * FROM uye WHERE Ulke = 'ABD'
UNION
SELECT * FROM uye WHERE No > 30
Bu sefer Bobby Dixon için de sadece bir sonuç döndü.
1 yorum:
Merhaba hocam yardıma ihtiyacım var yazılarınızı severek takip ediyorum benim şöyle bir sorunum var şu sitedeki gibi hesaplama araçları yapmak istiyorum ama nasıl? http://www.hesaplama.net/ bu sitedeki kodlarla oynayıp bir şeyler yapamazmıyız?
efkarvaktii@hotmail.com mail adresinden bana ulaşırsanız memnun olurum
Yorum Gönder