PostgreSQL - DISTINCT Anahtar Kelimesi

PostgreSQL DISTINCT anahtar sözcük, tüm yinelenen kayıtları ortadan kaldırmak ve yalnızca benzersiz kayıtları almak için SELECT deyimi ile birlikte kullanılır.

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.

Sözdizimi

Yinelenen kayıtları ortadan kaldırmak için DISTINCT anahtar kelimesinin temel sözdizimi aşağıdaki gibidir -

SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]

Misal

Aşağıdaki gibi kayıtlara sahip ŞİRKET tablosunu düşünün -

# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

Bu tabloya aşağıdaki gibi iki kayıt daha ekleyelim -

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (8, 'Paul', 32, 'California', 20000.00 );

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (9, 'Allen', 25, 'Texas', 15000.00 );

Şimdi, COMPANY tablosundaki kayıtlar şu şekilde olacaktır:

id | name  | age | address    | salary
----+-------+-----+------------+--------
  1 | Paul  |  32 | California |  20000
  2 | Allen |  25 | Texas      |  15000
  3 | Teddy |  23 | Norway     |  20000
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
  6 | Kim   |  22 | South-Hall |  45000
  7 | James |  24 | Houston    |  10000
  8 | Paul  |  32 | California |  20000
  9 | Allen |  25 | Texas      |  15000
(9 rows)

Öncelikle, aşağıdaki SELECT sorgusunun yinelenen maaş kayıtlarını nasıl döndürdüğünü görelim -

testdb=# SELECT name FROM COMPANY;

Bu, aşağıdaki sonucu verecektir -

name
-------
 Paul
 Allen
 Teddy
 Mark
 David
 Kim
 James
 Paul
 Allen
(9 rows)

Şimdi kullanalım DISTINCT yukarıdaki SELECT sorgusu ile anahtar kelime ve sonucu görün -

testdb=# SELECT DISTINCT name FROM COMPANY;

Bu, yinelenen girişimiz olmadığında aşağıdaki sonucu üretecektir -

name
-------
 Teddy
 Paul
 Mark
 David
 Allen
 Kim
 James
(7 rows)