4 DQL Select
4 DQL Select
Dados II
PROF.: DOUGLAS LEGRAMANTE
Ordenação dos Dados
Selecionados
QUANDO SE REALIZA UMA SELEÇÃO, OS DADOS RECUPERADOS
NÃO ESTÃO ORDENADOS. OS DADOS SÃO RECUPERADOS PELA
ORDEM EM QUE SE ENCONTRAM DISPOSTOS FISICAMENTE NA
TABELA DO SGBD.
Ordenação dos Dados Selecionados
A SQL prevê a cláusula ORDER BY para O <número da coluna> se
realizar a ordenação dos dados refere à posição relativa das
colunas quando for
selecionados. apresentado o resultado da
consulta, e não à posição na
Sintaxe básica: tabela original, contada da
esquerda para a direita. As
palavras ASC e DESC
SELECT <nome da(s) coluna(s)> FROM <tabela> significam, respectivamente,
WHERE <condição(ões)> > ascendente e descendente. A
ORDER BY <nome da(s) coluna(s)> [ASC/DESC] forma ascendente de
ou ordenação é assumida como
ORDER BY <número da coluna> padrão.
Exemplo
Problema: mostrar em ordem alfabética a lista de vendedores e seus respectivos salários
fixos.
Diagrama:
Sintaxe:
SELECT nome_vendedor, salario_fixo FROM vendedores
ORDER BY nome_vendedor;
Exemplo
Problema: listar nomes, cidades e estados de todos os clientes, ordenados por
estado e cidade de forma descendente.
Diagrama:
Sintaxe:
SELECT nome_cliente, cidade, UF FROM cliente
ORDER BY UF DESC, cidade DESC;
Exemplo
Problema: mostrar a descrição e o valor unitário de todos os produtos que tenham a
unidade ‘M’, em ordem de valor unitário ascendente.
Diagrama:
Sintaxe:
SELECT descricao_produto, valor_unitario
FROM produto
WHERE unidade_produto = ‘M’
ORDER BY 2 ASC;
Realização de Cálculos
com Informação
Selecionada
CO M A L IN G UAG E M S Q L É P O S S Í V E L C R IA R U M CA M P O QU E N ÃO
P E RT E N ÇA À TA B E L A O R I G I N A L E S E JA F R UTO D E CÁ LC U LO D E A LG UN S
CA M P O S DA TA B E L A PA R A S E R E X I B I D O N O M O M E N TO DA CO N S U LTA .
Exemplo
Problema: mostrar o novo salário fixo dos vendedores, de faixa de comissão ‘C’,
calculado com base no reajuste de 75% acrescido de R$ 120,00 de bonificação.
Ordenar pelo nome do vendedor.
Diagrama:
Sintaxe:
SELECT nome_vendedor, novo_salario
= (salario_fixo * 1.75) + 120
FROM vendedores
WHERE faixa_de_comissao = ‘C’
ORDER BY nome_vendedor;
Utilização de Funções
de Agregação sobre
Conjuntos
A S FUN ÇÕ ES DE AG RE G AÇÃO R ES U LTAM SE MP R E U MA NOVA
CO LU N A N O R E S U LTA DO DA P E S Q U IS A .
FUNÇÃO DESCRIÇÃO Funções de
COUNT Devolve o número de linhas. Agregação
MAX Devolve o Maior valor da
coluna. Estas funções, também conhecidas como
Funções Estatísticas, têm por objetivo
MIN Devolve o Menor valor da obter informação sobre conjuntos de
coluna. linhas especificados na cláusula WHERE ou
sobre grupos de linhas indicados na
SUM Devolve a Soma de todos os
cláusula GROUP BY.
valores da coluna.
SUM(quantidade)
Sintaxe:
SELECT SUM(quantidade), FROM item_de_pedido
WHERE codigo_produto = ‘78’;
Cálculo de Médias (AVG)
A função AVG devolve a média dos valores de uma determinada coluna.
Problema: qual é a média dos salários fixos dos vendedores?
Diagrama:
Sintaxe:
SELECT AVG(salario_fixo),
FROM vendedores;
Utilização da
Cláusula DISTINCT
N O R MA L M E N T E , VÁ R I O S R E G I ST R O S D E N T R O D E U MA TA B E L A P O D E M
CO N T E R OS M E S M O S VA LOR E S , CO M E XC E ÇÃO DA C H AV E P R IM Á R IA .
CO M I S SO, M U I TA S CON S U LTA S P O D E M TR A ZE R I N F OR M AÇÕE S
E R R A DA S .
Cláusula DISTINCT
A cláusula DISTINCT, aplicada em uma consulta, foi criada para não permitir que
certas redundâncias, obviamente necessárias, causem problemas. A cláusula
DISTINCT elimina repetições de valores em relação a uma coluna.
Sintaxe:
SELECT DISTINCT unidade_produto, FROM produto;
Agrupamento de
Informações
Agrupamento de Informações
Selecionadas (GROUP BY e HAVING)
A cláusula GROUP BY divide o resultado de um SELECT em um grupo de resultados
que serão processados pelas funções de agregação.
A cláusula HAVING realiza as restrições das linhas resultantes, da mesma forma que a
cláusula WHERE o faz em um SELECT.