Usando Distinct no SQL

SQL
Tempo de leitura: 3 minutos

Usando Distinct no SQL: Ao trabalhar com bancos de dados, é comum precisarmos extrair informações únicas de uma tabela. Imagine que você tem uma tabela de clientes e deseja saber quais são as cidades diferentes onde seus clientes residem. Para obter essa informação sem repetições, utilizamos o comando DISTINCT no SQL.

Neste artigo, exploraremos em detalhes a função do DISTINCT, como utilizá-lo em diferentes cenários e suas aplicações práticas.

O que é o DISTINCT?

O comando DISTINCT é uma cláusula do SQL que elimina valores duplicados em uma consulta, retornando apenas os valores únicos de uma coluna ou conjunto de colunas. Em outras palavras, o DISTINCT garante que cada linha do resultado seja diferente das demais, com base nos valores especificados.

Sintaxe básica:

SQL

SELECT DISTINCT coluna1, coluna2, ...
FROM tabela;
  • SELECT DISTINCT: Indica que você deseja obter apenas os valores únicos.
  • coluna1, coluna2, …: Especifica as colunas que serão consideradas para a eliminação de duplicatas.
  • FROM tabela: Indica a tabela da qual os dados serão extraídos.

Exemplo:

Imagine que você tem uma tabela chamada produtos com as colunas id, nome e categoria. Para descobrir quais são as categorias de produtos diferentes, você pode usar o seguinte comando:

SQL

SELECT DISTINCT categoria
FROM produtos;

Este comando retornará uma lista com todas as categorias de produtos distintas presentes na tabela.

Como funciona o DISTINCT?

O DISTINCT compara os valores de todas as linhas da tabela para a(s) coluna(s) especificada(s). Se encontrar duas linhas com os mesmos valores para todas as colunas especificadas, ele irá eliminar uma delas do resultado final.

Combinando DISTINCT com outras cláusulas

O DISTINCT pode ser combinado com outras cláusulas SQL para obter resultados mais específicos:

  • WHERE: Filtra os dados antes de aplicar o DISTINCT.
  • ORDER BY: Ordena os resultados após a aplicação do DISTINCT.
  • GROUP BY: Agrupa os dados antes de aplicar o DISTINCT.

Exemplo:

SQL

SELECT DISTINCT cidade, estado
FROM clientes
WHERE país = 'Brasil'
ORDER BY estado, cidade;

Este comando retorna uma lista de cidades e estados distintos dos clientes brasileiros, ordenada por estado e cidade.

DISTINCT em diferentes SGBDs

A sintaxe básica do DISTINCT é a mesma para a maioria dos SGBDs (Sistemas de Gerenciamento de Banco de Dados), como MySQL, PostgreSQL, Oracle e SQL Server. No entanto, pode haver pequenas variações na sintaxe e nas funcionalidades específicas.

Considerações importantes

  • Performance: O uso do DISTINCT pode afetar o desempenho de suas consultas, especialmente em grandes tabelas. Para otimizar a performance, considere criar índices nas colunas que você está utilizando com o DISTINCT.
  • Null values: Valores nulos são considerados diferentes entre si. Se você deseja tratar os valores nulos como iguais, você pode utilizar funções específicas do seu SGBD para lidar com valores nulos.
  • Combinação com outras funções: O DISTINCT pode ser combinado com funções de agregação como COUNT, SUM, AVG, etc., para obter informações resumidas sobre os dados únicos.

Conclusão

Usando Distinct no SQL: O comando DISTINCT é uma ferramenta poderosa para eliminar duplicatas e obter informações únicas de seus dados. Ao entender como utilizá-lo em conjunto com outras cláusulas SQL, você poderá realizar consultas mais precisas e eficientes. Lembre-se de considerar o desempenho e as particularidades de seu SGBD ao utilizar o DISTINCT em suas consultas.

Toda jornada tem um início, e o início para se tornar um desenvolvedor back-end é dominar as seguintes tecnologias, que você encontra aqui mesmo:

SQL
SQL
Capa Curso PHP
PHP
Laravel
Laravel

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime

Author: Thiago Rossi