BD1 - SQL-Consultando Dados
Linguagem SQLConsultando DadosSQL - Consultando Dados17/12/2019 1
- Page 2 and 3: Banco de Dados ContPedidoSQL - Cons
- Page 4 and 5: O Comando SELECT• O comando SELEC
- Page 6 and 7: Selecionando ColunasSintaxe:SELECT
- Page 8 and 9: Eliminando Duplicação de LinhasSi
- Page 10 and 11: Exibindo StringsSintaxe:SELECT <lis
- Page 12 and 13: Ordenando os ResultadosExemplo 2: E
- Page 14 and 15: Filtrando Linhas de Uma Tabela• A
- Page 16 and 17: Filtrando Linhas de Uma TabelaINNOT
- Page 18 and 19: Filtrando Linhas de Uma Tabela‘A%
- Page 20 and 21: Filtrando Linhas de Uma TabelaOPERA
- Page 22 and 23: Filtrando Linhas de Uma TabelaSinta
- Page 24 and 25: Filtrando Linhas Usando ListasSinta
- Page 26 and 27: Filtrando Linhas Usando IntervalosS
- Page 28 and 29: Filtrando Linhas com Valores NulosS
- Page 30 and 31: Filtrando Dados Usando StringsSinta
- Page 32 and 33: Filtrando Dados Usando StringsExemp
- Page 34 and 35: Filtrando Dados Usando StringsExemp
- Page 36 and 37: Determinando a Quantidade de Linhas
- Page 38 and 39: Contando os RegistrosSintaxe:SELECT
- Page 40 and 41: Totalizando ColunasSintaxe:SELECT S
- Page 42 and 43: Calculando Valores MáximosSintaxe:
- Page 44 and 45: Agrupando InformaçõesSintaxe:SELE
- Page 46 and 47: Agrupando InformaçõesExemplo 4: E
Linguagem SQL
Consultando Dados
SQL - Consultando Dados
17/12/2019 1
Banco de Dados ContPedido
SQL - Consultando Dados 17/12/2019
2
O Comando SELECT
• O comando SELECT permite consultar dados em uma ou mais
tabelas e retorna um conjunto de linhas e colunas, de acordo com
as cláusulas especificadas.
A B C D E
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
Tabela inicial
SELECT
A C E
6 8 10
16 18 20
21 23 25
31 33 35
Tabela resultante
SQL - Consultando Dados 17/12/2019
3
O Comando SELECT
• O comando SELECT contém seis cláusulas:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Indica as colunas que serão exibidas.
Indica a(s) tabela(s) de onde vem os dados.
Restringe a seleção de linhas da tabela com
base em uma expressão condicional.
Agrupa as linhas selecionadas com base em
um ou mais atributos.
Restringe a seleção de linhas agrupadas com
base em uma expressão condicional.
Ordena as linhas selecionadas com base em
um ou mais atributos.
SQL - Consultando Dados 17/12/2019
4
Consulta Simples
Sintaxe:
SELECT * FROM <tabela>
Exemplo 1: Exibir todos os dados de todos os clientes.
SELECT * FROM cliente
Exemplo 2: Exibir todos os dados de todos os produtos.
SELECT * FROM produto
SQL - Consultando Dados 17/12/2019
5
Selecionando Colunas
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
Exemplo 1: Exibir código, nome e telefone de todos os clientes.
SELECT idcliente, nome, fone FROM cliente
Exemplo 2: Exibir código, data e valor do frete de todos os pedidos.
SELECT idpedido, datapedid, frete FROM pedido
SQL - Consultando Dados 17/12/2019
6
Alterando o Título das Colunas
Sintaxe:
SELECT <coluna> [AS] <alias>
FROM <tabela>
Exemplo 1: Exibir o código com o título “Produto” e o preço de
venda com o título “Preço de venda” de todos os produtos.
SELECT idproduto AS [Produto],
venda AS [Preço de venda]
FROM produto
Exemplo 2: Exibir o nome com o título “Função” e o valor da
gratificação com o título “Gratificação” de todas as funções.
SELECT nome AS Função, gratific AS Gratificação
FROM função
SQL - Consultando Dados 17/12/2019
7
Eliminando Duplicação de Linhas
Sintaxe:
SELECT DISTINCT <lista de colunas>
FROM <tabela>
Exemplo 1: Exibir o código de todos os clientes que já fizeram
pedido na empresa.
SELECT DISTINCT idcliente
FROM pedido
Exemplo 2: Exibir o bairro e o código da cidade de todos os
funcionários da empresa.
SELECT DISTINCT bairro, idreside
FROM funcionario
SQL - Consultando Dados 17/12/2019
8
Exibindo Colunas Calculadas
Sintaxe:
SELECT <lista de colunas, expressão numérica>
FROM <tabela>
Exemplo 1: Exibir código, quantidade em estoque, preço de venda e
(quantidade X preço de venda) para cada produto.
SELECT idproduto, quantest, venda,
quantest*venda [Valor]
FROM produto
Exemplo 2: Exibir código, nome, salário e o salário com 32% de
aumento para todos os funcionários.
SELECT idfuncionario, nome, salario, salario*1.32
FROM funcionario
SQL - Consultando Dados 17/12/2019
9
Exibindo Strings
Sintaxe:
SELECT <lista de colunas, string>
FROM <tabela>
Exemplo 1: Exibir código, nome e uma coluna contendo
“classificado” para todos os clientes.
SELECT idcliente, nome, 'classificado' [Resultado]
FROM cliente
Exemplo 2: Exibir código, nome e uma coluna contendo “num.ref”
com o título “Referência” para todos os produtos.
SELECT idproduto, nome, 'num.ref.' [Referência]
FROM produto
SQL - Consultando Dados 17/12/2019
10
Ordenando os Resultados
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
ORDER BY <coluna> [ASC] [DESC]
Exemplo 1: Exibir código, nome, contato e cargo de todos os clientes,
ordenados pelo cargo em ordem ascendente.
SELECT idcliente, nome, contato, cargo
FROM cliente
ORDER BY cargo
SQL - Consultando Dados 17/12/2019
11
Ordenando os Resultados
Exemplo 2: Exibir código, nome, estado civil e data de nascimento de
todos os funcionários, ordenados pela data de nascimento em
ordem descendente.
SELECT idfuncionario, nome, estcivil, datanasc
FROM funcionario
ORDER BY datanasc DESC
Exemplo 3: Exibir código, nome, preço de custo, preço de venda e a
diferença entre esses dois preços para todos os produtos, ordenados
pela diferença em ordem descendente.
SELECT idproduto, nome, custo, venda,
venda-custo [diferença]
FROM produto
ORDER BY diferença DESC
SQL - Consultando Dados 17/12/2019
12
Ordenando os Resultados
Exemplo 4: Exibir código, nome e tipo de todos os produtos,
ordenados pelo tipo em ordem ascendente e pelo nome em ordem
descendente.
SELECT idproduto, nome, idtipo
FROM produto
ORDER BY idtipo, nome DESC
Exemplo 5: Exibir código, nome, cidade onde reside, sexo e salário
de todos os funcionários, ordenados por cidade e sexo em ordem
ascendente e por salário em ordem descendente.
SELECT idfuncionario,nome,idreside,sexo,salário
FROM funcionario
ORDER BY idreside, sexo, salario DESC
SQL - Consultando Dados 17/12/2019
13
Filtrando Linhas de Uma Tabela
• A filtragem deve ser feita utilizando-se a cláusula WHERE.
• A cláusula WHERE filtra as linhas com base em uma condição que
deve ser especificada.
• A condição é representada por uma ou mais expressões
condicionais , separadas pelos operadores lógicos and, or e not.
• O formato de cada expressão condicional é:
<coluna> <operador> <valor>
• Podem ser utilizados diversos operadores para compor as
expressões condicionais utilizadas.
SQL - Consultando Dados 17/12/2019
14
Filtrando Linhas de Uma Tabela
OPERADORES DE COMPARAÇÃO
quantidade = 20
= Igual nome = ‘Paulo’
datanasc = ‘22/02/2011’
< Menor que preço < 20.00
<= Menor ou igual estoque <= 50
> Maior que dataadm > ‘22/02/2011’
>= Maior ou igual credito >= 10000.00
<> ou != Diferente nome <> ‘Paulo’
SQL - Consultando Dados 17/12/2019
15
Filtrando Linhas de Uma Tabela
IN
NOT IN
OPERADORES DE INCLUSÃO
Dentro do
conjunto
Fora do
conjunto
bairro IN (‘Tambaú’, ‘Bessa’)
setor NOT IN (‘COM’,’MKT’,’ALM’)
BETWEEN
NOT
BETWEEN
OPERADORES DE INTERVALO
Dentro do
intervalo
Fora do
intervalo
preço BETWEEN 30.00 and 150.00
quant NOT BETWEEN 10 and 200
SQL - Consultando Dados 17/12/2019
16
Filtrando Linhas de Uma Tabela
IS NULL
IS NOT NULL
OPERADORES DE NULO
O valor é
nulo
O valor
não é nulo
telefone IS NULL
fax is NOT NULL
OPERADORES DE COMPARAÇÃO DE STRINGS
LIKE Igual nome LIKE ‘Ma%’
NOT LIKE Diferente nome NOT LIKE ‘A_r%’
% Substitui um conjunto de caracteres
_
Substitui um único caractere
SQL - Consultando Dados 17/12/2019
17
Filtrando Linhas de Uma Tabela
‘A%’
‘%Silva’
‘%Silva%’
‘A%Silva’
‘A_S’
‘[ABC]%’
‘%[MS]’
OPERADORES DE COMPARAÇÃO DE STRINGS
String iniciando por ‘A’.
String terminando por ‘Silva’.
String contendo ‘Silva’ em qualquer posição.
String iniciando por ‘A’ e terminando por ‘Silva’.
String com três caracteres, iniciando por ‘A’ e
terminando por ‘S’.
String iniciando por ‘A’, ‘B’ ou ‘C’.
String terminando por ‘M’ ou ‘S’.
SQL - Consultando Dados 17/12/2019
18
Filtrando Linhas de Uma Tabela
OPERADORES DE COMPARAÇÃO DE STRINGS
‘[A-G]%’
String iniciando por um caractere entre
‘A’ e ‘G’.
‘[0-9]%’ String iniciando por um número.
‘[a-Z]%’
‘[0-9]%[a-Z]’
‘A[FJP]S%’
‘[a-Z][a-Z][0-9]%’
String iniciando por uma letra.
String iniciando por um número e
terminando por uma letra.
String iniciando por ‘A’, seguido por ‘F’, ‘J’,
ou ‘P’ e terminando por ‘S’.
String contendo uma letra na primeira
posição, outra letra na segunda e um
número na terceira.
SQL - Consultando Dados 17/12/2019
19
Filtrando Linhas de Uma Tabela
OPERADORES DE COMPARAÇÃO DE STRINGS
‘A[B-F][G-M]%’
‘A%[0-9]’
‘A[C-G]%[0-9]’
String iniciando por ‘A’, contendo
qualquer caractere entre ‘B’ e ‘F’ na
segunda posição e entre ‘G’ e ‘M’ na
terceira.
String iniciando por ‘A’ e terminando
por um um número.
String iniciando por ‘A’, com o segundo
caractere entre ‘C’ e ‘G’ e terminando
por um número.
‘%@%%’ ESCAPE ‘@’ String contendo o caractere ‘%’.
‘%+_%’ ESCAPE ‘+’
String contendo o caractere ‘_’.
SQL - Consultando Dados 17/12/2019
20
Filtrando Linhas de Uma Tabela
AND
OR
Ambas as
condições são
verdadeiras
Uma das
condições é
verdadeira
NOT A condição é falsa
OPERADORES LÓGICOS
valor > 1000.00 and quant <= 25
(valor > 1000.00 and quant <= 25)
or (estmin <10 and tipo IN (2,4,7))
preço > 120.00 or not (quant >=
250)
SQL - Consultando Dados 17/12/2019
21
Filtrando Linhas de Uma Tabela
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
WHERE <condição>
Exemplo 1: Exibir código, nome, tipo, quantidade em estoque e
preço de venda dos produtos que tenham quantidade em estoque
maior que 20 ou preço de venda inferior a R$ 50,00, ordenados pelo
preço de venda em ordem descendente.
SELECT idproduto, nome, idtipo, quantest, venda
FROM produto
WHERE quantest > 20 OR venda < 50.00
ORDER BY venda DESC
SQL - Consultando Dados 17/12/2019
22
Filtrando Linhas de Uma Tabela
Exemplo 2: Exibir todos os dados dos clientes que são do tipo
pessoa jurídica e que não sejam da cidade de código igual a 14, ou
que são do tipo pessoa física e da cidade de código igual a 14,
ordenando pelo nome em ordem ascendente.
SELECT *
FROM cliente
WHERE (idtipo = 'J’ AND idcidade <> 14) OR
(idtipo = 'F’ AND idcidade = 14)
ORDER BY nome
SQL - Consultando Dados 17/12/2019
23
Filtrando Linhas Usando Listas
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
WHERE <coluna> [NOT] IN (<lista de valores>)
Exemplo 1: Exibir todos os dados dos funcionários que residam em
Manaíra, Tambaú ou Bessa, ordenados pelo nome do funcionário
em ordem ascendente.
SELECT *
FROM funcionario
WHERE bairro IN ('Manaíra','Tambaú','Bessa')
ORDER BY nome
SQL - Consultando Dados 17/12/2019
24
Filtrando Linhas Usando Listas
Exemplo 2: Exibir código, data e via de transporte de todos os
pedidos que tenham sido transportados por via aérea ou marítima.
SELECT idpedido, datapedid, via
FROM pedido
WHERE via IN ('A','M')
Exemplo 3: Exibir código, nome e tipo de todos os produtos que não
sejam do tipo 2 ou 4, ordenados pelo tipo em ordem descendente e
pelo nome em ordem ascendente.
SELECT idproduto, nome, idtipo
FROM produto
WHERE idtipo NOT IN (2,4)
ORDER BY idtipo DESC, nome
SQL - Consultando Dados 17/12/2019
25
Filtrando Linhas Usando Intervalos
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
WHERE <coluna> [NOT] BETWEEN (<intervalo>)
Exemplo 1: Exibir todos os dados dos produtos com quantidade em
estoque entre 10 e 30 unidades, ordenados pelo nome do produto
em ordem ascendente.
SELECT *
FROM produto
WHERE quantest BETWEEN 10 AND 30
ORDER BY nome
SQL - Consultando Dados 17/12/2019
26
Filtrando Linhas Usando Intervalos
Exemplo 2: Exibir todos os dados dos funcionários que nasceram na
década de 60, ordenados pela data de nascimento em ordem
descendente e pelo nome em ordem ascendente.
SELECT *
FROM funcionario
WHERE datanasc BETWEEN '01/01/1960’ AND '31/12/1969'
ORDER BY datanasc DESC, nome
Exemplo 3: Exibir código, cliente e data de todos os pedidos que não
tenham sido realizados entre 1997 e 1999.
SELECT idpedido, idcliente, datapedid
FROM pedido
WHERE DATEPART(YEAR,datapedid) NOT BETWEEN 1997
AND 1999
SQL - Consultando Dados 17/12/2019
27
Filtrando Linhas com Valores Nulos
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
WHERE <coluna> IS [NOT] NULL
Exemplo 1: Exibir código, nome e email dos funcionários que não
tenham email, ordenando pelo nome em ordem ascendente.
SELECT idfuncionario, nome, email
FROM funcionario
WHERE email IS NULL
ORDER BY nome
SQL - Consultando Dados 17/12/2019
28
Filtrando Dados com Valores Nulos
Exemplo 2: Exibir tipo, código, nome e fax dos clientes que tenham
fax, ordenados pelo tipo e pelo nome
SELECT tipo, idcliente, nome, fax
FROM cliente
WHERE fax IS NOT NULL
ORDER BY tipo, nome
Exemplo 3: Exibir código, nome, email e celular dos funcionários que
não tenham email mas possuam telefone celular, ordenados pelo
nome em ordem ascendente.
SELECT idfuncionario, nome, email, celular
FROM funcionario
WHERE email IS NULL and celular IS NOT NULL
ORDER BY nome
SQL - Consultando Dados 17/12/2019
29
Filtrando Dados Usando Strings
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
WHERE <coluna> LIKE <string>
Exemplo 1: Exibir o código e o nome de todos os funcionários que
tenham o nome começando por ‘M’, ordenados pelo nome.
SELECT idfuncionario, nome
FROM funcionario
WHERE nome LIKE 'M%'
ORDER BY nome
SQL - Consultando Dados 17/12/2019
30
Filtrando Dados Usando Strings
Exemplo 2: Exibir os dados de todos os funcionários que tenham o
nome terminando por ‘Silva’, ordenados pelo nome.
SELECT *
FROM funcionario
WHERE nome LIKE ‘%Silva'
ORDER BY nome
Exemplo 3: Exibir os dados de todos os funcionários que tenham o
sobrenome ‘Costa’, ordenados pelo nome.
SELECT *
FROM funcionario
WHERE nome LIKE '%Costa%'
ORDER BY nome
SQL - Consultando Dados 17/12/2019
31
Filtrando Dados Usando Strings
Exemplo 4: Exibir os dados de todos os funcionários que tenham o
nome iniciando por ‘Mar’, seguido de um caractere qualquer, a letra
‘a’ e quaisquer caracteres adicionais, ordenados pelo nome.
SELECT *
FROM funcionario
WHERE nome LIKE 'Mar_a%'
ORDER BY nome
Exemplo 5: Exibir os dados dos funcionários que tenham o nome
iniciando por ‘Mar’, seguido de um caractere entre as letras ‘i’ e ‘t’, a
letra ‘a’ e quaisquer caracteres adicionais, ordenados pelo nome.
SELECT *
FROM funcionario
WHERE nome LIKE 'Mar[i-t]a%'
ORDER BY nome
SQL - Consultando Dados 17/12/2019
32
Filtrando Dados Usando Strings
Exemplo 6: Exibir os dados de todos os clientes cujo código não
comece por ‘A’ nem por ‘C’, ordenados pelo nome.
SELECT *
FROM cliente
WHERE idcliente NOT LIKE '[AC]%'
ORDER BY nome
Exemplo 7: Exibir os dados dos funcionários que tenham o nome
iniciando por ‘Maria’ e terminando por ‘Lima’, ordenados pelo nome.
SELECT *
FROM funcionario
WHERE nome LIKE 'Maria%Lima'
ORDER BY nome
SQL - Consultando Dados 17/12/2019
33
Filtrando Dados Usando Strings
Exemplo 8: Exibir os dados de todos os clientes cujo código não
termine por ‘A’ nem por ‘C’, ordenados pelo nome.
SELECT *
FROM cliente
WHERE idcliente NOT LIKE ‘%[AC]'
ORDER BY nome
Exemplo 9: Exibir código, nome e observações de todos os
funcionários que tenham o símbolo de percentual na coluna obs,
ordenados pelo nome.
SELECT idfuncionario, nome, obs
FROM funcionario
WHERE obs LIKE '%/%%' ESCAPE ‘/'
ORDER BY nome
SQL - Consultando Dados 17/12/2019
34
Determinando a Quantidade de Linhas
Sintaxe:
SELECT TOP n [PERCENT] [WITH TIES]
<lista de colunas>
FROM <tabela>
Exemplo 1: Exibir código do pedido, código do produto e quantidade
pedida dos 10 produtos com as maiores quantidades
pedidas em um pedido, ordenados pela quantidade pedida em
ordem descendente.
SELECT TOP 10 idpedido, idproduto, quant
FROM itens
ORDER BY quant DESC
SQL - Consultando Dados 17/12/2019
35
Determinando a Quantidade de Linhas
Exemplo 2: Exibir o código do pedido, o código do produto e a
quantidade pedida dos 10 produtos com as maiores quantidades
pedidas em um pedido. Incluir todos os registros que tenham a
quantidade pedida igual ao último valor exibido.
SELECT TOP 10 WITH TIES idpedido, idproduto, quant
FROM itens
ORDER BY quant DESC
Exemplo 3: Exibir o código e a quantidade pedida, dos 10% produtos
com as maiores quantidades pedidas, ordenando pela quantidade
em ordem descendente.
SELECT TOP 10 PERCENT isproduto, quant
FROM itens
ORDER BY quant DESC
SQL - Consultando Dados 17/12/2019
36
Usando Funções de Agregação
• As funções agregadas:
• Operam na coleta de valores de uma coluna da tabela;
• Produzem um resultado único;
• Não atuam sobre valores nulos.
• A cláusula DISTINCT pode ser usada como parte do argumento
para eliminar linhas repetidas antes de aplicar a função.
SQL - Consultando Dados 17/12/2019
37
Contando os Registros
Sintaxe:
SELECT COUNT(*)
FROM <tabela>
Exemplo 1: Exibir a quantidade de clientes cadastrados.
SELECT COUNT(*) AS [Quantidade]
FROM cliente
Exemplo 2: Exibir a quantidade de pedidos atendidos por via aérea.
SELECT COUNT(*) AS [Quantidade]
FROM pedido
WHERE via = 'A'
SQL - Consultando Dados 17/12/2019
38
Contando os Registros
Exemplo 3: Exibir quantos funcionários tem email.
SELECT COUNT(*) AS [Quantidade]
FROM funcionario
WHERE email IS NOT NULL
SELECT COUNT(email) AS [Quantidade]
FROM funcionario
Exemplo 4: Exibir quantos vendedores já atenderam pedido.
SELECT COUNT(DISTINCT idvendedor) AS [Quantidade]
FROM pedido
SQL - Consultando Dados 17/12/2019
39
Totalizando Colunas
Sintaxe:
SELECT SUM(<coluna>)
FROM <tabela>
Exemplo 1: Exibir a soma de todos os salários da empresa.
SELECT SUM(salario) AS [Total]
FROM funcionario
Exemplo 2: Exibir o valor total em estoque de todos os produtos
(preço de venda X quantidade em estoque).
SELECT SUM(venda*quantest) AS [Total]
FROM produto
SQL - Consultando Dados 17/12/2019
40
Calculando Médias
Sintaxe:
SELECT AVG(<coluna>)
FROM <tabela>
Exemplo 1: Exibir o valor médio de todos os salários da empresa.
SELECT AVG(salario) AS [Valor médio]
FROM funcionario
Exemplo 2: Exibir o preço médio de venda dos produtos que não
sejam dos tipos 1, 3 e 4.
SELECT AVG(venda) AS [Preço médio]
FROM produto
WHERE idtipo NOT IN (1,3,4)
SQL - Consultando Dados 17/12/2019
41
Calculando Valores Máximos
Sintaxe:
SELECT MAX(<coluna>)
FROM <tabela>
Exemplo 1: Exibir o preço do produto mais caro da empresa.
SELECT MAX(venda) AS [Mais caro]
FROM produto
Exemplo 2: Exibir o maior salário pago a uma funcionária.
SELECT MAX(salario) AS [Maior salário]
FROM funcionario
WHERE sexo = 'F'
SQL - Consultando Dados 17/12/2019
42
Calculando Valores Mínimos
Sintaxe:
SELECT MIN(<coluna>)
FROM <tabela>
Exemplo 1: Exibir a data da fatura do primeiro pedido da empresa.
SELECT MIN(datafatura) AS [Data]
FROM pedido
Exemplo 2: Exibir a data de nascimento do funcionário do sexo
masculino mais velho da empresa
SELECT MIN(datanasc) AS [Data]
FROM funcionario
WHERE sexo = 'M'
SQL - Consultando Dados 17/12/2019
43
Agrupando Informações
Sintaxe:
SELECT <lista de colunas>
FROM <tabela>
GROUP BY <coluna>
[HAVING] <condição>
Exemplo 1: Exibir a quantidade de funcionários de cada sexo
existente na empresa.
SELECT sexo, COUNT(*) AS [Quantidade]
FROM funcionario
GROUP BY sexo
SQL - Consultando Dados 17/12/2019
44
Agrupando Informações
Exemplo 2: Exibir a quantidade de funcionários e o valor total de
salários de cada setor da empresa.
SELECT idsetor, COUNT(*) AS [Quantidade],
SUM(salario) AS [Total]
FROM funcionario
GROUP BY idsetor
Exemplo 3: Exibir a quantidade de pedidos realizados em cada mês
de cada ano.
SELECT YEAR(datapedid) [Ano],
MONTH(datapedid) [Mês], COUNT(*)[Quantidade]
FROM pedido
GROUP BY YEAR(datapedid), MONTH(datapedid)
ORDER BY YEAR(datapedid), MONTH(datapedid)
SQL - Consultando Dados 17/12/2019
45
Agrupando Informações
Exemplo 4: Exibir o código do pedido e a quantidade de produtos
dos pedidos que tem mais do que três produtos.
SELECT idpedido, COUNT(produto) AS [Quantidade]
FROM itens
GROUP BY idpedido
HAVING COUNT(idproduto) > 3
Exemplo 5: Exibir a quantidade de pedidos realizados em cada ano,
para os anos que tem mais de 100 pedidos.
SELECT YEAR(datapedid) AS [Ano],
COUNT(idpedido) AS [Quantidade]
FROM pedido
GROUP BY YEAR(datapedid)
HAVING COUNT(idpedido) > 100
SQL - Consultando Dados 17/12/2019
46
Copyright © 2019 Nilton Freire Santos.
Todos os direitos reservados.
SQL - Consultando Dados 17/12/2019 47