Bu eğitimde, bir sonuç kümesindeki yinelenen satırları ortadan kaldırmak için SELECT deyimindeki MySQL DISTINCT yan tümcesini nasıl kullanacağınızı öğreneceksiniz.
Bir tablodan veri sorgularken, yinelenen satırlar alabilirsiniz. Bu yinelenen satırları kaldırmak için SELECT deyiminde DISTINCT yan tümcesini kullanırsınız.
DISTINCT yan tümcesinin sözdizimi aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 | SELECT DISTINCT sütunlar FROM tablo_adı WHERE arama_koşulu ORDER BY sıralama_ifadesi; |
Bu söz diziminde, SELECT DISTINCT anahtar sözcüklerinden sonra farklı değerler seçmek istediğiniz bir veya daha fazla sütun belirtirsiniz.
Bir sütun belirtirseniz, DISTINCT yan tümcesi, o sütunun değerlerine dayalı olarak satırların benzersizliğini değerlendirecektir.
Ancak, iki veya daha fazla sütun belirtirseniz, DISTINCT yan tümcesi, satırların benzersizliğini değerlendirmek için bu sütunların değerlerini kullanır.
DISTINCT yan tümcesi ile SELECT deyimini yürütürken MySQL, FROM, WHERE ve SELECT yan tümcesinden sonra ve ORDER BY yan tümcesinden önce DISTINCT yan tümcesini değerlendirir.

MySQL SELECT DISTINCT Örnekleri
Örneklerimizi sample database veritabanında bulunan employee tablosunu kullanarak gerçekleştireceğiz.

İlk olarak, aşağıdaki SELECT deyimini kullanarak çalışanlar tablosundan soyadlarını seçelim.
1 2 3 4 5 6 7 8 | SELECT lastname FROM employees ORDER BY lastname; |

Çıktıda açıkça gösterildiği gibi, bazı çalışanlar aynı soyadına sahiptir, örneğin Bondur,Firrelli .
Şimdi de aşağıdaki gibi DISTINCT yan tümcesini ekleyerek benzersiz soyadları seçelim.
1 2 3 4 5 6 7 8 | SELECT DISTINCT lastname FROM employees ORDER BY lastname; |

MySQL DISTINCT ve NULL değerler
DISTINCT yan tümcesinde BOŞ değerleri olan bir sütun belirttiğinizde, DISTINCT yan tümcesi tüm NULL değerlerin aynı olduğunu kabul ettiğinden yalnızca bir NULL değeri tutar.
Örneğin, customers tablosundaki state sütununda NULL değerler bulunur.

1 2 3 4 | SELECT DISTINCT state FROM customers; |

DISTINCT yan tümcesinde birden çok sütun belirttiğinizde, DISTINCT yan tümcesi, sonuç kümesindeki satırın benzersizliğini belirlemek için bu sütunlardaki değerlerin birleşimini kullanır.
Örneğin, customers tablosundan benzersiz bir city ve state kombinasyonu elde etmek için aşağıdaki sorguyu kullanırsınız:
1 2 3 4 5 6 7 8 9 10 11 | SELECT DISTINCT state, city FROM customers WHERE state IS NOT NULL ORDER BY state, city; |
