Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
SQL Dilinde `SELECT DISTINCT` Kullanımı

SQL Dilinde `SELECT DISTINCT` Kullanımı

Veritabanı yönetim sistemlerinde, sorgulama işlemleri sırasında sonuç kümesindeki yinelenen (duplicate) satırları ortadan kaldırmak, veri analizi ve raporlama için kritik bir gerekliliktir. SQL'de bu ihtiyacı karşılamak için kullanılan temel anahtar kelimelerden biri DISTINCT'tir. Bu rehber, SELECT DISTINCT ifadesinin sözdizimini, işleyişini ve pratik kullanım senaryolarını adım adım açıklamaktadır. Amacımız, veritabanınızdan yalnızca benzersiz değerleri nasıl alacağınızı teknik ve anlaşılır bir dille sunmaktır.


Sözdizimi


SELECT DISTINCT ifadesinin genel sözdizimi aşağıdaki gibidir:


SELECT DISTINCT sütun1, sütun2, ...
FROM tablo_adı;

Alternatif olarak, tüm sütunlar için tekil kombinasyonları almak isterseniz, * karakterini de kullanabilirsiniz. Ancak bu kullanım, genellikle spesifik sütunlar için tekillik arandığında daha az tercih edilir.


SELECT DISTINCT *
FROM tablo_adı;

Detaylı Açıklama


Sözdizimindeki her bir bileşen aşağıdaki anlamlara gelmektedir:


  • SELECT: Veritabanından veri almak için kullanılan temel SQL komutudur.

  • DISTINCT: SELECT komutundan sonra kullanılan bu anahtar kelime, sorgu sonucunda yinelenen satırların elenmesini sağlar. Yalnızca benzersiz satırlar sonuç kümesine dahil edilir.

  • sütun1, sütun2, ...: Benzersiz değerlerini almak istediğiniz bir veya daha fazla sütunun adlarıdır. Eğer birden fazla sütun belirtilirse, DISTINCT bu sütunların tümünün kombinasyonuna bakar. Yani, belirtilen tüm sütunlardaki değerlerin aynı olduğu satırlar yinelenen kabul edilir.

  • FROM tablo_adı: Verilerin çekileceği veritabanı tablosunun adını belirtir.


Özetle, DISTINCT anahtar kelimesi, SELECT ifadesi tarafından döndürülen satırlar arasında, belirtilen sütunların veya tüm sütunların kombinasyonunda tamamen aynı olanları eleyerek, her bir benzersiz kombinasyondan yalnızca bir satır döndürür.


Pratik Kullanım Örnekleri


Aşağıdaki örneklerde, bir Calisanlar tablosunu kullanarak SELECT DISTINCT ifadesinin farklı senaryolarda nasıl kullanıldığını inceleyeceğiz.


Calisanlar Tablosu Örneği:


CalisanID | Ad     | Soyad  | Departman          | Sehir
----------|--------|--------|--------------------|--------
1         | Ali    | Yılmaz | Muhasebe           | İstanbul
2         | Ayşe   | Demir  | İnsan Kaynakları   | Ankara
3         | Can    | Kara   | Muhasebe           | İstanbul
4         | Elif   | Can    | Pazarlama          | İzmir
5         | Burak  | Akın   | Pazarlama          | Ankara
6         | Zeynep | Tekin  | Muhasebe           | Ankara
7         | Deniz  | Güneş  | İnsan Kaynakları   | İstanbul
8         | Mert   | Yıldız | Pazarlama          | İzmir

Örnek 1: Tek Bir Sütundaki Tekil Değerler


Bu örnek, Calisanlar tablosundaki tüm benzersiz departman isimlerini listeler.


SELECT DISTINCT Departman
FROM Calisanlar;

Sonuç:


Departman
--------------------
Muhasebe
İnsan Kaynakları
Pazarlama

Örnek 2: Birden Fazla Sütundaki Tekil Değerler


Bu örnek, Calisanlar tablosundaki departman ve şehir kombinasyonlarının her birinin yalnızca bir kez görünmesini sağlar. Yani, hem departman hem de şehir aynı olduğunda bir satır yinelenen kabul edilir.


SELECT DISTINCT Departman, Sehir
FROM Calisanlar;

Sonuç:


Departman          | Sehir
-------------------|--------
Muhasebe           | İstanbul
İnsan Kaynakları   | Ankara
Pazarlama          | İzmir
Muhasebe           | Ankara
İnsan Kaynakları   | İstanbul
Pazarlama          | Ankara

Örnek 3: COUNT Fonksiyonu ile Birlikte Kullanım


DISTINCT, genellikle COUNT() gibi bir toplama fonksiyonu içinde kullanılarak tekil değerlerin sayısını bulmak için de kullanılır.


SELECT COUNT(DISTINCT Departman) AS ToplamTekilDepartman
FROM Calisanlar;

Sonuç:


ToplamTekilDepartman
--------------------
3

Önemli Notlar


  • Tüm Sütunlara Uygulama: DISTINCT anahtar kelimesi, SELECT ifadesinde belirtilen tüm sütunlara uygulanır. Örneğin, SELECT DISTINCT SütunA, SütunB yazdığınızda, sonuç kümesinde hem SütunA hem de SütunB değerlerinin aynı olduğu satırlar tekilleştirilir. Sadece SütunA'nın tekil olması yeterli değildir.

  • Performans Etkisi: Büyük veri kümelerinde DISTINCT kullanmak, veritabanının sonuçları sıralamasını ve karşılaştırmasını gerektirdiğinden sorgu performansını olumsuz etkileyebilir. Gereksiz kullanımdan kaçınılmalı veya indeksleme stratejileri ile desteklenmelidir.

  • NULL Değerler: DISTINCT, NULL değerleri birbirine eşdeğer olarak kabul eder. Yani, bir sütunda birden fazla NULL değeri varsa, sonuç kümesinde yalnızca bir NULL değeri döner.

  • ORDER BY ile Birlikte Kullanım: DISTINCT ile elde edilen sonuç kümesini sıralamak için ORDER BY ifadesi kullanılabilir. Ancak ORDER BY, DISTINCT işleminin kendisini etkilemez, yalnızca sonucun sunum sırasını belirler.

Yayınlanma Tarihi: 2025-10-14 00:00:27
CSS Dilinde Yorum (Comments) Kullanımı
Önceki Haber

CSS Dilinde Yorum (Comments) Kullanımı

CSS Makaleleri
Sonraki Haber

Python Dilinde Açıklama Satırları (Comments) Kullanımı

Python Makaleleri
Python Dilinde Açıklama Satırları (Comments) Kullanımı

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× SQL Dilinde NULL Değerlerin Etkili Kullanımı
Bu ilginizi çekebilir

SQL Dilinde NULL Değerlerin Etkili Kullanımı

Veritabanı yönetim sistemlerinde, bir sütundaki veri değerinin bilinmediğini,...