Blog Tecnológico

Group By e Order BY

Erick Reis • 28 jul 2021 • SQL

Group By e Order BY

No artigo de hoje de Linguagem SQL, explicaremos como usar a cláusula ORDER BY no SQL com sintaxe e exemplos.

A cláusula ORDER BY do SQL é usada para classificar os registros em seu conjunto de resultados. A cláusula ORDER BY só pode ser usada em instruções SELECT, afinal é através do SELECT que podemos realizar consultas e ordenar essas consultas com outras sintaxes.

A sintaxe da cláusula ORDER BY na linguagem SQL é:

 

SELECT colunas

FROM tabela

WHERE condição

ORDER BY coluna ASC ou DESC;

 

Parâmetros ou Argumentos

SELECT colunas:

As colunas que você deseja consultar no banco de dados.

FROM tabela:

As tabelas das quais você deseja recuperar os registros. Deve haver pelo menos uma tabela listada na cláusula FROM.

ONDE condições

Este campo é opcional para os casos em que você queira fazer filtragens mais especificas. As condições que devem ser atendidas para que os registros sejam selecionados (Condições como AND, OR, <, >, <=,>=, entre outras).

ASC

Um método opcional para classificar os dados. Ele classifica o conjunto de resultados em ordem crescente.

DESC

Outro método opcional. Ele classifica o conjunto de resultados em ordem decrescente.

Uma coisa importante é de que se o modificador ASC ou DESC não for fornecido na cláusula ORDER BY, os resultados serão classificados por expressão em ordem crescente.

 

Group BY:

A cláusula GROUP BY permite que você encontre as características de grupos de linhas em vez de linhas individuais.

Quando você especifica uma cláusula GROUP BY, o SQL divide as linhas selecionadas em grupos de modo com que as linhas de cada grupo tenham valores correspondentes em uma ou mais colunas ou expressões.

 Em seguida, o SQL processa cada grupo para produzir um resultado de linha única para o grupo. Você pode especificar uma ou mais colunas ou expressões na cláusula GROUP BY para agrupar as linhas. 

Importante ressaltar que os itens que você especifica na instrução SELECT são propriedades de cada grupo de linhas.

Sem uma cláusula GROUP BY, a aplicação de funções agregadas SQL retorna uma linha. Quando GROUP BY é usado, a função é aplicada a cada grupo, retornando assim tantas linhas quanto grupos.

Por exemplo, a tabela Funcionários possui vários conjuntos de linhas, e cada conjunto consiste em linhas que descrevem membros de um departamento específico. Para saber o salário das pessoas em cada departamento, você pode consultar da seguinte maneira:

SELECT DEPARTAMENTO, SALÁRIO

       FROM FUNCIONARIOS

       GROUP BY DEPARTAMENTO;

 

Agrupar as linhas não significa ordená-las. O agrupamento coloca cada linha selecionada em um grupo, que o SQL então processa para derivar as características do grupo. A ordenação das linhas coloca todas as linhas na tabela de resultados em sequência de intercalação crescente ou decrescente. Dependendo da implementação selecionada pelo gerenciador de banco de dados, os grupos resultantes podem parecer ordenados.

Se houver valores nulos na coluna especificada na cláusula GROUP BY, um resultado de linha única será produzido para os dados nas linhas com valores nulos.

Se o agrupamento ocorrer sobre caracteres ou colunas gráficas UCS-2 ou UTF-16, a sequência de classificação em vigor quando a consulta for executada será aplicada ao agrupamento.

Ao usar GROUP BY, você lista as colunas ou expressões que deseja que o SQL use para agrupar as linhas. 

Você também pode especificar que deseja que as linhas sejam agrupadas por mais de uma coluna ou expressão. Por exemplo, você pode emitir uma instrução SELECT para encontrar o salário médio para homens e mulheres em cada departamento

SELECT DEPARTAMENTO, SEXO, DECIMAL(AVG(SALÁRIO),5,0) AS Salário Médio

       FROM FUNCIONARIOS

       GROUP BY DEPARTAMENTO, SEXO;

 

Como você não incluiu uma cláusula WHERE neste exemplo, o SQL examina e processa os linhas na tabela Funcionários. As linhas são agrupadas primeiro por número de departamento e a seguir (dentro de cada departamento) por sexo antes que o SQL nos retorne o valor SALÁRIO médio para cada grupo.

Gostou deste conteúdo?




 

 

Erick Reis

Erick Reis

Graduando em Análise e desenvolvimento de sistemas pela FAM, apaixonado por tecnologias que envolvam análise de dados, programação, banco de dados. Atualmente atuando em tecnologias de análise de dados como: Power BI, Excel, Banco de dados.

Prvacidade e Proteção de Dados | ENG DTP & Multimídia

ENG DTP & Multimídia - Logo

 

 

ENVIE SEU CONTATO e SEUS COMENTÁRIOS

ENG DTP & Multimídia

ENG DTP & Multimídia. Todos os direitos reservados.
Nossa Política de Privacidade e Proteção de Dados.