Capturando dados exclusivos com DISTINCT
No SQL, DISTINCT comandos são usados no SELECT Statement para obter dados sem duplicação. Se houver os mesmos dados em uma coluna e quisermos apenas exibir valores diferentes, DISTINCT garantirá que cada valor apareça uma vez nos resultados da consulta.
DISTINCT é colocado após a palavra-chave SELECT e antes do nome da coluna que você deseja recuperar. Este comando diz ao MySQL para exibir apenas os dados exclusivos dessa coluna e excluir as linhas que têm o mesmo valor.
A sintaxe para usar DISTINCT é a seguinte:
SELECT DISTINCT column_name FROM table_name;
- DISTINCT: instrui o SQL a exibir valores exclusivos nas colunas especificadas.
- column_name: O nome da coluna da qual você deseja recuperar dados exclusivamente.
- FROM: indica a tabela da qual os dados se originaram.
Por exemplo, queremos obter dados exclusivos das colunas vend_id na tabela products. Sem usar DISTINCT, se houver vários produtos do mesmo fornecedor, cada ID de fornecedor aparecerá várias vezes nos resultados da consulta. Com DISTINCT, podemos garantir que os resultados mostrem cada ID de fornecedor apenas uma vez.
Os exemplos são os seguintes:
SELECT DISTINCT vend_id FROM products;
Se a tabela de produtos tiver dados como este:
| vend_id |
|---------|
| 1001 |
| 1001 |
| 1002 |
| 1003 |
| 1003 |
| 1003 |
| 1004 |
Os resultados da consulta mostrarão apenas a ID exclusiva do fornecedor, portanto, ela terá a seguinte aparência:
| vend_id |
|---------|
| 1001 |
| 1002 |
| 1003 |
| 1004 |
Anotações importantes
- DISTINCT se aplica à combinação de colunas selecionadas na consulta. Se mais de uma coluna for usada com DISTINCT, o SQL garantirá que a combinação de colunas seja exclusiva.
- DISTINCT remove apenas duplicatas das colunas especificadas e não afeta outras colunas na tabela.
===
Usando nomes de coluna qualificados
Usar fully qualified column names (no formato table.column) em SQL tem vários benefícios importantes, especialmente ao recuperar dados de tabelas que podem ter colunas com o mesmo nome.
Aqui estão algumas das vantagens de usar nomes de coluna totalmente qualificados:
- Com o formato table.column, você indica de qual tabela a coluna está vindo. Isso é especialmente útil ao trabalhar com várias tabelas em uma única consulta, como ao fazer JOIN. Essa clareza reduz a confusão sobre qual coluna está sendo referenciada.
- Se houver duas ou mais tabelas com colunas com o mesmo nome, o uso de nomes de coluna totalmente qualificados pode evitar conflitos. Por exemplo, se você tiver tabelas products e orders cada uma com prod_id colunas, poderá usar products.prod_id e orders.prod_id para diferenciar entre as duas.
- Ao incluir nomes de tabela em referências de coluna, o código SQL se torna mais fácil de entender e manter por outros desenvolvedores ou por eles mesmos no futuro. Isso ajuda na documentação e no desenvolvimento contínuos.
Conclusão
Aprender instruções SELECT no MySQL é essencial para gerenciar dados de maneira adequada e segura. Com a capacidade de recuperar dados específicos, flexibilidade na seleção de colunas, manutenção da clareza e melhoria do desempenho, você pode melhorar a eficiência e a qualidade de seus projetos. Seguir as práticas recomendadas, como usar nomes de coluna completos e formatação consistente, também é benéfico para documentação e solução de problemas no código SQL.