Academy › 🗄️ SQL & Veritabanı › SELECT'in Gücü
DISTINCT: benzersiz değerler
🔎 SELECT'in Gücü bölümü · Code Quest SQL & Veritabanı parkuru
Bazen "bu sütunda kaç farklı değer var?" diye sorarsın. 24 satışta hangi farklı adetler geçiyor? Oyuncular hangi şehirlerden? İşte DISTINCT tam bunun içindir: tekrarları eler.
SELECT DISTINCT adet FROM satislar;
adet ──── 1 2 3
24 satış vardı ama sadece 3 satır geldi: adetler yalnızca 1, 2 ve 3 olabiliyormuş. Tek bir kelimeyle veriyi keşfettin — DISTINCT, yeni bir veritabanını tanımanın en hızlı yoludur.
SELECT DISTINCT sehir FROM oyuncular;
sehir ──────── İstanbul Ankara İzmir Bursa NULL Adana
DISTINCT SELECT'ten hemen sonra yazılır ve bütün sütun listesine uygulanır — tek bir sütuna değil. Yani birden çok sütun seçersen, "satırın tamamı benzersiz olsun" demiş olursun.
SELECT DISTINCT tur_id FROM oyunlar;
tur_id
──────
3
4
1
2
5
NULLSonuçların sırasına dikkat: 1, 2, 3 diye gelmedi. SQL sana sıra sözü vermez! Satırların hangi düzende geleceği motorun keyfine kalmıştır. Sıra istiyorsan açıkça istemelisin — bu, 4. bölümün konusu olan ORDER BY.
COUNT(DISTINCT ...) ile tek satırda alacaksın.Kendini test et
DISTINCT ne yapar?
Satırları sıralarTekrar eden satırları eleyip benzersizleri getirirSatırları sayar
Cevabı gör
Cevap: Tekrar eden satırları eleyip benzersizleri getirir
DISTINCT tekrarları eler. Saymak COUNT'un, sıralamak ORDER BY'ın işidir.
Doğru mu, yanlış mı? — DISTINCT, NULL değerini de sonuçta bir kez gösterir.
Cevabı gör
Cevap: Doğru
DISTINCT açısından NULL da bir "değer"dir ve listede tek bir kez yer alır.