Aula 9: Funções SQL e Agrupamento de Dados
Para a aula 9, o foco será em Funções SQL e Agrupamento de Dados (GROUP BY). Esses conceitos são importantes para operações de análise e resumo dos dados, permitindo consultas mais detalhadas e precisas.
1. Funções SQL
As funções SQL são usadas para manipular dados em consultas, permitindo cálculos e transformações nos valores armazenados.
1.1. Funções de Data e Hora
Essas funções lidam com datas e horários, ajudando em cálculos e manipulações temporais.
- NOW(): Retorna a data e hora atual.
SELECT NOW();
- YEAR(), MONTH(), DAY(): Extraem o ano, mês e dia de uma data.
SELECT YEAR(data_nascimento) FROM alunos;
1.2. Funções Matemáticas
Essas funções realizam operações aritméticas nos dados.
- ABS(): Retorna o valor absoluto.
SELECT ABS(-10);
- ROUND(): Arredonda um valor para um número específico de casas decimais.
SELECT ROUND(3.14159, 2);
1.3. Funções de String
Manipulam textos, permitindo modificações e extrações.
- UPPER() e LOWER(): Convertem o texto para maiúsculas ou minúsculas.
SELECT UPPER(nome) FROM alunos;
- SUBSTRING(): Extrai uma parte do texto.
SELECT SUBSTRING(nome, 1, 3) FROM alunos;
1.4. Funções de Agregação
Essas funções realizam cálculos em um conjunto de valores e retornam um único valor.
- COUNT(): Conta o número de registros.
SELECT COUNT(*) FROM alunos;
- SUM(): Calcula a soma de valores.
SELECT SUM(nota) FROM notas;
- AVG(): Calcula a média.
SELECT AVG(nota) FROM notas;
- MAX() e MIN(): Encontram o valor máximo e mínimo.
SELECT MAX(idade), MIN(idade) FROM alunos;
2. Agrupamento de Dados com GROUP BY
O GROUP BY agrupa os dados de uma consulta com base em uma ou mais colunas e permite o uso de funções de agregação para calcular valores específicos de cada grupo.
- Sintaxe Básica:
SELECT coluna, COUNT(*) FROM tabela GROUP BY coluna;
Exemplo:
Listar a quantidade de alunos por cidade:
SELECT cidade, COUNT(*) AS total_alunos
FROM alunos
GROUP BY cidade;
3. Exercícios Práticos
- Funções de Data e Hora:
- Usando a função
YEAR()
, selecione todos os alunos nascidos antes de 2000.
- Usando a função
- Funções Matemáticas e String:
- Crie uma consulta que retorne o nome dos alunos em maiúsculas usando
UPPER()
e arredonde a nota final para uma casa decimal usandoROUND()
.
- Crie uma consulta que retorne o nome dos alunos em maiúsculas usando
- Funções de Agregação:
- Calcule a média de idade dos alunos da tabela
alunos
. - Conte o número total de registros na tabela
alunos
.
- Calcule a média de idade dos alunos da tabela
- Agrupamento de Dados:
- Liste a quantidade de alunos por faixa etária (por exemplo, “menor de 18”, “entre 18 e 25”, “maior de 25”).
4. Desafio de Agrupamento e Funções
Dado um banco de dados de uma biblioteca com a tabela emprestimos
(contendo as colunas id_livro
, id_usuario
, data_emprestimo
, data_devolucao
), faça o seguinte:
- Calcule o número total de empréstimos por mês usando YEAR(), MONTH() e COUNT().
- Crie uma consulta que mostre os usuários que mais emprestaram livros, usando GROUP BY e COUNT().
- Liste o maior e o menor tempo de empréstimo em dias, utilizando DATEDIFF() entre
data_emprestimo
edata_devolucao
.
Esse material oferece uma introdução às funções SQL e agrupamento de dados, permitindo operações e cálculos complexos no banco de dados.
Publicar comentário