Técnicas de consulta de dados no MySQL usando SELECT Statement de forma eficiente

Limitando os resultados da consulta com LIMIT

No SQL, o comando LIMIT serve para limitar a quantidade de dados exibidos a partir dos resultados da consulta. LIMIT é especialmente útil quando queremos recuperar apenas uma determinada quantidade de dados de uma tabela, como exibir uma amostra ou apenas os primeiros dados de um resultado de consulta grande.

LIMIT é usado mencionando a quantidade desejada de dados após a palavra-chave. Quando LIMIT é seguido por um único número, o MySQL recupera várias linhas de dados, desde a primeira linha até o número especificado.

O exemplo a seguir mostra como usar o LIMIT para recuperar os 5 primeiros dados da coluna prod_name na tabela products:

SELECT prod_name FROM products LIMIT 5;

Então, o resultado desta consulta mostrará apenas as 5 primeiras linhas:

| prod_name     |
|---------------|
| 0.5 ton anvil |
| 1 ton anvil   |
| 2 ton anvil   |
| Oil can       |
| Fuses         |

Uso de LIMIT e OFFSET na captura de dados

Podemos limitar o número de linhas recuperadas e também determinar de quais linhas os dados são recuperados usando OFFSET. No MySQL, OFFSET é escrito em conjunto com LIMIT para determinar o ponto de partida da recuperação de dados. Exemplos:

SELECT prod_name FROM products LIMIT 5 OFFSET 5;

Essa consulta recuperará 5 linhas de dados, começando pela 6ª linha.

Existem também outras maneiras de escrever LIMIT OFFSET usando dois números após LIMIT, como:

SELECT prod_name FROM products LIMIT 5, 5;

Essa escrita tem o mesmo significado, que é pegar 5 linhas a partir da 6ª linha, onde o primeiro número (5) é OFFSET e o segundo número (5) é a quantidade de dados a serem tomados.

Benefícios do LIMIT e OFFSET

  • LIMIT sem OFFSET facilita a recuperação de alguns dados iniciais dos resultados da consulta.
  • A combinação de LIMIT e OFFSET é particularmente útil para configurações de dados no aplicativo, como exibições de página (*paginação*), em que cada página requer a mesma quantidade de dados, mas começa em posições diferentes.

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:

  1. 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.
  2. 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.
  3. 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.

Últimos artigos