EDUCAÇÃO / TECNOLOGIA / UTILIDADE PÚBLICA

Ordenar dados e criar funções de grupo com order by, group by e having

Veja o tutorial de linguagem SQL mostrando o uso do comando select para ordenar os dados, criar resultados agrupados e limitar registros em uma consulta de grupo.

O comando SELECT é extremamente importante na linguagem SQL. Com ele podemos criar consultas ao banco de várias formas, seja filtrando os dados, classificando, agrupando, entre outras possibilidades.

As funções de ordenar os dados e criar consultas agrupadas serão vistas neste tutorial. Para o primeiro usando a cláusula ORDER BY que permite que uma consulta seja classificada por qualquer um dos campos da consulta e em ordem normal ou inversa. Já a função de grupo é possível com a cláusula GROUP BY que permite que campos possam ser agrupados.

Veja abaixo diversos exemplos do uso do comando SELECT para ordenar dados e criar funções de grupo.

Classificando com a cláusula Order By

A classificação de registros usando a cláusula order by pode ser feita de duas formas, isto, podemos definir a ordem assim:

  • ASC: Ordem ascendente (default)
  • DESC: Ordem decrescente

Veja um exemplo com a classificação default, ou seja, ascendente:

SELECT codigo_empregado, nome, data_nascimento, cidade
FROM empregados                            
ORDER BY nome

Para classificar em ordem decrescente, basta adicionar DESC.

SELECT codigo_empregado, nome, salario, cidade
FROM empregados                            
ORDER BY salario desc

É possível classificar os resultados por mais de um campo, neste caso, use a vírgula para separá-los. Veja um exemplo:

SELECT codigo_empregado, nome, salario, cidade
FROM empregados                            
ORDER BY salario desc, cidade

Funções de grupo e a cláusula Group by

As funções de grupo operam em conjunto de linhas para fornecer um resultado por grupo.

A tabela abaixo mostra as funções de grupo e sua aplicação:

  • AVG - Retorna o valor médio
  • COUNT - Retorna a quantidade de linhas
  • MAX - Retorna o maior valor
  • MIN - Retorna o menor valor
  • SUM - Soma os valores das colunas

Uma função de grupo geralmente é usada coma a cláusula group by, já que esta cláusula tem a finalidade de criar grupos de dados.

Veja os exemplos abaixo usando as funções SUM, AVG,MAX, MIM E COUNT:

SELECT cidade, sum(salario) As totalSalario
FROM empregados
GROUP BY cidade
SELECT cidade, avg(salario) As salarioMedio
FROM empregados
GROUP BY cidade
SELECT cidade, max(salario) As maiorSalario
FROM empregados
GROUP BY cidade
SELECT cidade, min(salario) As menorSalario
FROM empregados
GROUP BY cidade
SELECT estado, count(*) As totalEmpregados
FROM empregados
GROUP BY estado

Os exemplos acima podem ser adaptados para outras realidades, porém o príncipio é este.

Cláusula Having

Use a cláusula having para especificar quais grupos serão exibidos e, desta forma, restringir ainda mais os grupos com base nas informações agregadas.

SELECT cidade, Count(cidade) As Total_cidade
FROM empregados
GROUP BY cidade
HAVING Count(cidade) > 2

 

Veja também

Comentários

oi. esse pequeno artigo me ajudou um pouco sobre o basico de SQL. valeu, um abraço. Roni // Passo Fundo
Roni: Que bom que te ajudou. O SQL básico tem muito mais aplicação no dia-a-dia do que o SQL avançado, por isto ele se torna mais importante. Um abraço. Luis luis.blog.br // Limeira/SP
Confirmo suas palavras Luis, aliás, eu e um professor Doutor em BD. "O SQL básico tem muito mais aplicação no dia-a-dia do que o SQL avançado, por isto ele se torna mais importante". Parabéns pelas palavras e pelo artigo apresentdo. Nilson // Manaus
© 2008-2017 | LUIS.BLOG.BR | Política de Privacidade | Em Jesus Cristo eu confio