Consultas em Banco de Dados MySQL
Por: Danilo Mateus • 14/9/2021 • Abstract • 296 Palavras (2 Páginas) • 87 Visualizações
As vezes é nescessário ordenar ou agrupar os resultados para uma melhoR apresentação
----------------------------------------------------------------------------------------------------------
GOUP BY - agrupa elementos do mesmo tipo
SELECT t.nome AS tipo, SUM (p.quantidade) as 'Quantidade em Estoque' FROM tipos AS t,
produtos AS p WHERE t.id =p.id_tipo GROUP BY t.nome;
este exemplo mostra a quantidade de produtos em estoque agrupados pelo tipo utilizando a
função de agregação SUM() para efetuar a soma de cada tipo de produto.
ESTAMOS ORDENANDO PELO NOME
EX 2
SELECT f.nome AS Fabricante, SUM (quantidade) AS 'Quantidade em Estoque' FROM fabricantes AS f, produtos
AS p WHERE f.id = p.id_fabricante GROUP BY f.nome;
estamos solicitando a quantidade de produtos em estoque agrupados pelo fabricante
EX3
SELECT t.nome AS Tipo, f.nome AS Fabricante, SUM(p.quantidade) AS 'Quantidade em Estoque'
FROM tipos AS t, fabricantes as f, produtos as p
WHERE t.id =p. id_ tipo AND f.id = p.id_fabricante
GROUP BY t.nome, f.nome;
estamos solicitando a quantidade de produtos em estoque de acordo com os tipos e fabricantes
EX 4
SELECT t.nome AS Tipo, f.nome AS Fabricante, SUM (p.quantidade) AS 'Quantidade em Estoque'
FROM tipos AS t, fabricantes As f, profutos AS p
WHERE t.id =p.if_tipo AND f.id = p.id_fabricante
GROUP BY t.nome, f.nome
HAVING SUM (p.quantidade)>200;
EX 5
SELECT t.nome AS Tipo FROM produtos AS p, tipos AS t WHERE t.id = p.id_tipo;
não estamos utilizando nenhum agrupamento, portanto o resultado irá sair errado com vários
campos repetidos.
portanto deveria ser:
SELECT t.nome AS Tipo FROM produtos AS p, tipos AS t WHERE t.id = p.id_tipo GROUP BY t.nome;
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
ORDENAÇÃO - ORDER BY
pode ser ASC ou DESC
SELECT id, nome, id_tipo, id_fabricante, quantidade FROM produtos;
parece uma ordenação comum mas ela está ordenada de forma ascendente
...