English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
No PostgreSQL, a palavra-chave DISTINCT é usada juntamente com a cláusula SELECT para remover registros repetidos e obter apenas registros únicos.
Quando operamos dados no dia a dia, pode ocorrer uma situação em que há várias registros repetidos em uma tabela. Quando extraímos esses registros, a palavra-chave DISTINCT se torna especialmente significativa, pois ela obtem apenas uma vez o registro, e não registros repetidos.
A sintaxe básica do caractere DISTINCT usado para remover registros duplicados é a seguinte:
SELECT DISTINCT column1, 'column'2,.....columnN FROM table_name WHERE [condition]
Criar tabela COMPANY (Baixar arquivo SQL da COMPANY ),O conteúdo dos dados é o seguinte:
w3codeboxdb# 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)
Vamos inserir duas linhas de dados:
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 );
Os dados atuais são os seguintes:
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)
A seguir, vamos encontrar todos os NOME na tabela COMPANY:
w3codeboxdb=# SELECT name FROM COMPANY;
Os resultados obtidos são os seguintes:
name ------- Paul Allen Teddy Mark David Kim James Paul Allen (9 rows)
Agora usamos a cláusula DISTINCT na consulta SELECT:
w3codeboxdb=# SELECT DISTINCT name FROM COMPANY;
Os resultados obtidos são os seguintes:
name ------- Teddy Paul Mark David Allen Kim James (7 rows)
Do resultado pode ser visto, os dados duplicados foram removidos.