Baixe o app para aproveitar ainda mais
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;
Compartilhar