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 |
+----------+