SQL – SELECT DISTINCT Sorgusu ve Kullanımı – Ders 2

Bir önceki dersimizde genel anlamda SELECT sorgusunu incelemiştik. İşin içine Distinct de girdiğinde biraz daha farklı bir işlem ortaya çıkıyor. SELECT DISTINCT‘i birkaç kelime ile anlatacak olursak; bir tablodan SELECT işlemi ile göstereceğiniz sütunlardaki verilerden eşsiz olanlarını göstermesidir. 

Sanırım biraz kafanız karıştı ya da ben tam anlatamadım. En iyisi güzel bir örnek verelim. Müdürünüz sizden mağazanın satış raporundan satın alan kişileri göstermenizi istiyor. Fakat bu raporda aynı ismi tekrar tekrar kullanmanız gereksiz, aynı isimde birden fazla kayıt varsa sadece 1 kere göster diyor. İşte bu işlem için SELECT DISTINCT harika bir çözüm. Eğer göstereceğiniz sütunda aynı veriden birden fazla varsa o veriyi sadece bir kere göstermenizi sağlıyor.

Yukarıdaki tablo üzerinden iki işlem yaparak SELECT ve SELECT DISTINCT arasındaki farkı daha rahat bir şekilde görelim. İlk olarak SELECT sorgusu ile Country değerlerini alalım. (Tablo ismi Customers olsun)

Yukarıdaki sorguyu çalıştırdığımızda bize aşağıdaki değerleri verecek:

Germany
Mexico
Mexico
UK
Sweden

Şimdi de SELECT DISTINCT için bir sorgu çalıştıralım.

Bu sorgunun sonucunda ise aşağıdaki veriler karşımıza çıkacak:

Germany
Mexico
UK
Sweden

Görüldüğü üzere ilk sorguda iki tane Mexico varken ikinci sorguda sadece 1 tane Mexico geçiyor. Aradaki fark tam olarak bu.

OKUMALISIN!  SQL - MIN() ve MAX() Fonksiyonları ve Kullanımı - Ders 11

Ekstra Bilgi !!!

Yeri gelmişken DISTINCT’in COUNT ile kullanımına da bakmak istiyorum. Hemen problem oluşturalım ve bununla ilgili bir çözüm bulalım. Yukarıdaki 5 satırlık tabloda yer alan kaç tane ülke olduğunu bulmak istiyoruz. Bunun için tek tek ülkeleri saymak tabi ki problemimize bir çözüm değil, sonuçta 5 satır yerine 100.000 satırlık bir tablo ile de uğraşıyor olabilirsiniz. Bahsettiğimiz sorunun çözümü için aşağıdaki sorgu işinize yarayacaktır.

Bu sorguyu 5 satırlık tablomuz için çalıştırdığımızda bize “4” şeklinde sonuç çıkartacak.

1 Star2 Stars3 Stars4 Stars5 Stars (2 oylama, average: 5,00 out of 5)
Loading...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir