Disciplina: Banco de Dados - Edmilson Campos › 2012 › 04 › ...Listagem com total de autores...

Post on 10-Jun-2020

1 views 0 download

Transcript of Disciplina: Banco de Dados - Edmilson Campos › 2012 › 04 › ...Listagem com total de autores...

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