SQL - Yinelenenleri İşleme
Bir tabloda birden çok yinelenen kaydınız olduğunda bir durum olabilir. Bu tür kayıtları getirirken, yinelenen kayıtları getirmek yerine yalnızca benzersiz kayıtları getirmek daha mantıklıdır.
SQL DISTINCT Daha önce tartıştığımız anahtar sözcük, tüm yinelenen kayıtları ortadan kaldırmak için ve yalnızca benzersiz kayıtları getirerek SELECT deyimi ile birlikte kullanılır.
Sözdizimi
Yinelenen kayıtları elemek için bir DISTINCT anahtar sözcüğünün temel sözdizimi aşağıdaki gibidir.
SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
Misal
Aşağıdaki kayıtlara sahip MÜŞTERİLER tablosunu düşünün.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Öncelikle, aşağıdaki SELECT sorgusunun yinelenen maaş kayıtlarını nasıl döndürdüğünü görelim.
SQL> SELECT SALARY FROM CUSTOMERS
ORDER BY SALARY;
Bu, 2000 maaşının iki kez geldiği ve orijinal tablodan yinelenen bir kayıt olan aşağıdaki sonucu üretecektir.
+----------+
| SALARY |
+----------+
| 1500.00 |
| 2000.00 |
| 2000.00 |
| 4500.00 |
| 6500.00 |
| 8500.00 |
| 10000.00 |
+----------+
Şimdi yukarıdaki SELECT sorgusu ile DISTINCT anahtar kelimesini kullanalım ve sonucu görelim.
SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
ORDER BY SALARY;
Bu, yinelenen girişimiz olmadığında aşağıdaki sonucu üretecektir.
+----------+
| SALARY |
+----------+
| 1500.00 |
| 2000.00 |
| 4500.00 |
| 6500.00 |
| 8500.00 |
| 10000.00 |
+----------+