Arquitetura
Por: Dioguinho Castro • 28/5/2015 • Projeto de pesquisa • 1.158 Palavras (5 Páginas) • 238 Visualizações
Ordenando a saída(ORDER BY)
Normalmente, queremos que o resultado da consulta siga algum tipo de ordem e, para tanto, podemos usar a cláusula ORDER BY para ordenar os dados. Esta cláusula organiza os resultados de uma consulta em um formato de listagem que especificamos.
A ordenação padrão para a cláusula ORDER BY é a crescente; por isso, se estivermos ordenando nomes de saída em ordem alfabética, a ordenação é exibida de A a Z.
Veja um exemplo de consulta (consulta07) com valores ordenados. Iremos consultar novamente o nome do funcionário e salário maior do que R$ 1.200,00, mas desta vez iremos ordenar os nomes, que nos exemplos anteriores, estavam em desordem.
[pic 1]
O resultado:
Nm_funcionario | salario |
Alcione | 1356 |
Luis | 1280 |
Rogério | 1900 |
Tabela 08: Após a consulta07
Agora outro exemplo na mesma consulta (consulta08), ordenando os valores de salário, do menor para o maior:[pic 2]
O resultado:
Nm_funcionario | salario |
Luis | 1280 |
Alcione | 1356 |
Rogério | 1900 |
Tabela 09: Após a consulta08
A ordenação, por padrão, se dá na ordem crescente, de A a Z e de 1 a 9. Podemos alterar a ordenação, passando a ordenar do maior valor para o menor. Para isso, usamos o parâmetro DESC após a claúsula de ordenação. Veja o exemplo (consulta09):
[pic 3]
O resultado:
Nm_funcionario | salario |
Rogério | 1900 |
Alcione | 1356 |
Luis | 1280 |
Tabela 10: Após a consulta09
Agora os salários estão do maior valor para o menor valor. Quem ganha mais está no topo da lista.
Podemos também ordenar por mais de um campo, isto é, ordenamos primeiro por um campo, depois por outro. Veja o exemplo(consulta10):
[pic 4]
O resultado:
[pic 5]
Tabela 11: Após a consulta10
Neste exemplo, ordenamos primeiro pelo valor do salário em ordem crescente, depois ordenamos pelo nome dos funcionários. Se houver funcionário com o mesmo valor de salário, o nome será exibido ordenadamente.
A SQL oferece alguns atalhos. Uma coluna listada na cláusula ORDER BY pode ser abreviada com um número inteiro. Esse número é uma substituição do verdadeiro nome da coluna, ou seja, ele é um alias para ser usado na operação de ordenação e identifica a posição da coluna depois da palavra-chave SELECT.
Observe o exemplo a seguir, baseado nas consultas(consulta11) que temos feito acima. Usaremos como identificador um número inteiro na cláusula ORDER BY.
[pic 6]
O resultado:
Nm_funcionario | salario |
Luis | 1280 |
Alcione | 1356 |
Rogério | 1900 |
Tabela 12: Após a consulta11
Perceba que foi usado o valor 2, indicando que a ordenação deve ser feita pelo segundo argumento da cláusula SELECT, o campo salário.
Aliases de colunas
Os aliases (nomes alternativos de colunas) são usados para renomear colunas de uma tabela para adequá-las a determinada consulta. Observe como podemos utilizar estes aliases no exemplo abaixo:
[pic 7]
Neste exemplo, nome_coluna é o nome da coluna que queremos consultar, nome_alternativo é o nome que queremos que seja apresentado nesta coluna, no resultado da consulta, e o nome_tabela é o nome da tabela que queremos usar para esta consulta. Este alias, se formado por mais de uma palavra, como “Nome do funcionário”, deve obrigatoriamente estar entre aspas, simples ou duplas.
Vamos à um exemplo na tabela funcionário, sem o uso de alias:
[pic 8]
Consulta (consulta12) sem alias
O resultado:
Nm_funcionario |
Rogério |
Fernando |
Vagner |
Gustavo |
Luis |
Alcione |
Tabela 13: Após a consulta12
Agora a mesma consulta(consulta13), com alias:
[pic 9]
O resultado:
Primeiro Nome |
Rogério |
Fernando |
Vagner |
Gustavo |
Luis |
Alcione |
Tabela 14: Após a consulta13
Este recurso (aliases) é bem interessante quando precisamos emitir algum tipo de relatório e gostaríamos de apresentar um nome mais amigável para o dado, ao invés dos nomes utilizados para a criação dos dados nas tabelas - Código do funcionário ao invés de cd_funcionario, Nome do funcionário ao invés de nm_funcionario.
...