Post on 10-Jun-2020
Disciplina:
http://docente.ifrn.edu.br/edmilsoncampos/
edmilson.campos@ifrn.edu.br
@edmilsonbcn
Edmilson Campos, Prof.
AULA 11
Banco de Dados
Baseado no livro SQL: Curso Prático, do Celso Henrique.
Introdução
▪
▪
▪
▪
»
»
»
»
»
Edmilson Campos (edmilson.campos@ifrn.edu.br)2
Edmilson Campos (edmilson.campos@ifrn.edu.br)3
▪
»
SELECT COUNT(Endereco) AS "QTD ENDEREÇOS"
FROM Gravadora
SELECT COUNT(*) FROM Gravadora
SELECT COUNT(*) AS QUANTIDADE
FROM Gravadora
SELECT COUNT(*) AS QTD_MUSICAS
FROM Musica_Autor
SELECT COUNT(DISTINCT CODIGO_MUSICA) AS QTD_MUSICAS
FROM Musica_Autor
Utilização da palavra-
chave “AS” serve para
nomear coluna de
resultado
A utilização do
“DISTINCT” nesse
cenário permitiu
contar apenas
músicas diferentes
Edmilson Campos (edmilson.campos@ifrn.edu.br)4
▪
»
SELECT SUM(Preco_Venda)
FROM Cd
SELECT SUM(Preco_Venda) * 1.2
FROM Cd
Podemos realizar
outros cálculos
baseados na
somatória.
Edmilson Campos (edmilson.campos@ifrn.edu.br)5
▪
»
SELECT AVG(Preco_Venda)
FROM Cd
Edmilson Campos (edmilson.campos@ifrn.edu.br)6
▪
»
▪
»
SELECT MIN(Preco_Venda)
FROM Cd
SELECT MAX(Preco_Venda)
FROM Cd
Edmilson Campos (edmilson.campos@ifrn.edu.br)7
▪
»
SELECT Codigo_CD, COUNT(*) AS Quantidade
FROM FAIXA
GROUP BY Codigo_CD
Listagem de quantas
música há em cada
CD, agrupadas pelo
código do CD
SELECT Codigo_Gravadora, AVG(Preco_Venda) AS Média
FROM Cd
GROUP BY Codigo_Gravadora
Listagem com preço
médio de venda de
cada CD agrupado
por Gravadora
Edmilson Campos (edmilson.campos@ifrn.edu.br)8
▪
»
SELECT Codigo_Gravadora, AVG(Preco_Venda) AS Média, COUNT(*) AS Quantidade FROM Cd
GROUP BY Codigo_Gravadora
Listagem com a
quantidade CDs e média
de preço dos CDs de
cada gravadora
SELECT Codigo_Gravadora, AVG(Preco_Venda) AS Média, COUNT(*) AS Quantidade FROM Cd
GROUP BY Codigo_Gravadora
ORDER BY AVG(Preco_Venda)
O comando “GROUP
BY” vem antes do
comando “ORDER BY”
Edmilson Campos (edmilson.campos@ifrn.edu.br)9
▪
»SELECT Codigo_Musica, COUNT(*) AS Quantidade
FROM MUSICA_AUTOR
WHERE Codigo_Musica < 15
GROUP BY Codigo_Musica
Listagem com total de autores
agrupados por Código de
Música, sendo código das
músicas maiores que 15
Edmilson Campos (edmilson.campos@ifrn.edu.br)10
▪
»
SELECT Codigo_Musica, COUNT(*) AS Quantidade
FROM MUSICA_AUTOR
GROUP BY Codigo_Musica
HAVING Codigo_Musica < 15
A utilização de funções de
grupo não seria possível
com a cláusula “WHERE”
SELECT Codigo_Gravadora, AVG(Preco_Venda) FROM Cd
GROUP BY Codigo_Gravadora
HAVING AVG(Preco_Venda)>12
Edmilson Campos (edmilson.campos@ifrn.edu.br)11
▪
▪
▪