Buscar

Comandos Avançados - SQL - parte2

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Comandos Avançados
SQL – Parte 2
Profa MsC Josyane Lannes Florenzano de Souza
a) Funções de grupo
a.1) Definição
São funções pré-estabelecidas em SQL, que retornam resultados sobre agrupamentos de 1 a n linhas de uma tabela.
a) Funções de grupo
a.2) Funções
AVG(coluna) – calcula a média aritmética dos valores da coluna a qual a função é aplicada 
Ex: O comando abaixo retorna a média aritmética dos salários de todos os empregados 
SELECT AVG(salario) FROM empregado;
COUNT(*) – conta todas as linhas da tabela 
Ex: O comando abaixo retorna o total de empregados 
SELECT COUNT(*) FROM empregado;
COUNT(coluna) – conta todas os valores não nulos da coluna a qual a função é aplicada
Ex: o comando abaixo retorna o total de empregados que possui salário já cadastro 
SELECT COUNT(salario) FROM empregado;
a) Funções de grupo
MAX(coluna) – calcula o maior valor não nulo da coluna a qual a função é aplicada
Ex: O comando abaixo retorna o maior salário da tabela de empregado
SELECT MAX(salario) FROM empregado;
MIN(coluna) – calcula o menor valor não nulo da coluna a qual a função é aplicada
Ex: O comando abaixo retorna o menor salário da tabela de empregado
SELECT MIN(salario) FROM empregado;
SUM(coluna) – retorna o somatório de todos os valores não nulo da coluna a qual a função é aplicada
Ex: O comando abaixo retorna a soma de todos os salários da tabela de empregado
SELECT SUM(salario) FROM empregado;
a) Funções de grupo
b) Cláusula GROUP BY
Ex1: Retorna o total de empregados em cada cidade
SELECT cidade, count(*) FROM empregado GROUP BY cidade;
Ex2: Retorna para cada UF, a média salarial dos empregados que pertencem somente ao cargo de código 103
SELECT uf, AVG(salario) FROM empregado 
WHERE codigo_cargo = 103 
GROUP BY uf;
Ex3: Retorna a soma salarial dos empregados, em cada cidade dentro de cada UF
SELECT uf, cidade, SUM(salario) FROM empregado GROUP BY uf, cidade;
a) Funções de grupo
c) Cláusula HAVING
c.1) Definição
A cláusula HAVING tem a função, semelhante a cláusula WHERE, de especificar quais grupos de linhas serão recuperados. Destaca-se, que sempre que houver uma condição para uma função, devemos usar a cláusula HAVING.
c.2) Exemplo
Ex1: Exibir os cargos (código) que possuem a soma dos salários maior que 100000.
SELECT codigo_cargo, SUM(salario) FROM empregado
GROUP BY codigo_cargo HAVING SUM(salario) > 100000; 
Exercícios
Crie a tabela empregado 
(nome, end, cidade, cargo, sal) e popule-a
Informe os nomes de empregados que possuem a soma de seus salários menor que 650,00
Retorna o total de empregados em cada cidade.
Retorna para cada cidade, a média salarial dos empregados que pertencem somente ao cargo de código 100
Exercícios - Respostas
Crie a tabela empregado 
(nome, end, cidade, cargo, sal) e popule-a
Informe os nomes de empregados que possuem a soma de seus salários menor que 650,00
SELECT nome, SUM(sal) FROM empregado
GROUP BY nome HAVING SUM(sal) < 650; 
2. Retorna o total de empregados em cada cidade.
SELECT cidade, count(*) FROM empregado GROUP BY cidade;
3. Retorna para cada cidade, a média salarial dos empregados que pertencem somente ao cargo de professor
SELECT cidade, AVG(sal) FROM empregado 
WHERE cargo = professor 
GROUP BY cidade;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais