Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 11 - Linguagem SQL – Consulta avançada de tabelas

Consultas usando ordenação de dados

Na aula anterior, aprendemos a fazer consultas simples aos dados da tabela clientes e filmes do nosso banco de dados locadora. Por exemplo, para obter uma lista dos nomes dos clientes com seus respectivos e-mails, utilizamos o comando SELECT, conforme apresentado no quadro abaixo, obtém-se o resultado ilustrado na Figura 1.

 

Tela do MySQL após o comando SELECT cli_clientes, cli_email FROM <span class='strong'>clientes</span>.

Observe que a coluna com o nome dos clientes não está em ordem alfabética. Na verdade, o resultado é apresentado na ordem em que os dados são inseridos no banco de dados. Nesse caso, não temos dificuldades de achar o e-mail da cliente Maria da Silva, por exemplo, pois temos apenas 4 linhas inseridas no banco de dados. Continuaria sendo fácil se tivéssemos 100, 200 ou 300 registros? Claro que não, perderíamos muito tempo fazendo isso. Para facilitar nossa vida, o comando SELECT possui a cláusula ORDER BY que ordena os dados de uma consulta, facilitando a visualização dos resultados.

Continuando com o mesmo exemplo, para obter uma lista dos nomes dos clientes com seus respectivos e-mails, apresentando o resultado considerando o nome dos clientes em ordem alfabética, utilizamos o comando SELECT, conforme apresentado no quadro a seguir.

Observe que agora as informações sobre os nomes e e-mails são apresentadas em ordem alfabética de acordo com o nome do cliente, conforme é ilustrado na Figura 2.

Tela do MySQL após o comando <span class='strong'>SELECT cli_clientes, cli_email FROM clientes ORDER BY cli_nome</span>.

O MySQL sempre apresenta os resultados em ordem ascendente, ou seja, se estivermos tratando de dados de texto, na ordem de “A” a “Z”. Se desejarmos visualizar em ordem inversa, adicionamos o termo DESC na cláusula ORDER BY, como apresentado no quadro a seguir.

Observe que agora as informações sobre os nomes e e-mails são apresentadas em ordem alfabética inversa de acordo com o nome do cliente, conforme é ilustrado na Figura 3.

Tela do MySQL após o comando <span class='strong'>SELECT cli_clientes, cli_email FROM clientes ORDER BY cli_nome DESC</span>.

A cláusula ORDER BY pode ser utilizada em conjunto com a cláusula WHERE, de modo a visualizarmos os dados que atendam uma determinada condição de forma ordenada. Esse tipo de consulta deve seguir a sequência: SELECT ... FROM ... WHERE ... ORDER BY .... Por exemplo, se quisermos o nome e e-mail dos clientes cujos nomes começam com a letra “F” de forma ordenada, utilizamos o SELECT como apresentado no quadro a seguir, obtendo o resultado ilustrado na Figura 4.

 

Tela do MySQL após o comando <span class='strong'>SELECT cli_clientes, cli_email FROM clientes WHERE cli_nome LIKE ‘F%’ ORDER BY cli_nome</span>.

Versão 5.3 - Todos os Direitos reservados