Escolar Documentos
Profissional Documentos
Cultura Documentos
Sintaxe Geral
SELECT [ALL/DISTINCT] coluna1, coluna2, ..., colunaN
FROM nome_tabela1, nome_tabela2, ..., nome_tabelaN
[WHERE predicado]
[GROUP BY coluna1, coluna2, ..., colunaX]
[HAVING predicado]
[ORDER BY coluna1[asc/desc], coluna2[asc/desc], ..., colunaY[asc/desc]];
Prof. Luiz
Prof.A.Luiz
Vivacqua
Vivacqua
C. Meyer
SQL - CONSULTAS
Peça
Fornecimento
Fornecedor
Prof. Luiz
Prof.A.Luiz
Vivacqua
Vivacqua
C. Meyer
SQL - CONSULTAS
Prof. Luiz
Prof.A.Luiz
Vivacqua
Vivacqua
C. Meyer
SQL - CONSULTAS
Recuperação qualificada: Obter a identificacao dos fornecedores de
SP com status > 20.
Select id, nome
From fornecedor
Where Cidade =’sp’ and status > 20;
Junção de três tabelas: Obter o nome das peças que são fornecidas
por fornecedores do RJ
Select Distinct Peca.nome
From fornecedor S, peca P, fornecimento SP
Where S.id = id_forn
and P.id = id_peca
and S.cidade=´rj´;
Inner Join
Obter o nome dos fornecedores que fornecem peças.
Select distinct nome
From Fornecedor INNER JOIN Fornecimento
ON fornecedor.id = id_forn;
Funções embutidas
COUNT – retorna o número de linhas na tabela.
SUM – retorna a soma dos valores na coluna que tem que ser
numérica.
AVG – retorna a média de valores na coluna que tem que ser
numérica.
MAX – retorna o maior valor na coluna.
MIN – retorna o menor valor na coluna.
Uso do Group By
A cláusula group by pode ser usada em conjunto com
funções de forma de agrupar o resultado segundo uma
ou mais colunas.
Uso do having
A cláusula having funciona para os Grupos assim como o
Where para linhas.
Subconsulta correlacionada:
Forma negativa:
Dicas:
Normalmente, EXISTS oferece um desempenho melhor
do que IN em subconsultas.
Quando uma lista de valores contem um valor nulo, NOT EXISTS
retorna verdadeiro, mas NOT IN retorna falso
Exemplo:
Insert into fornecimento values(13, null, ‘p1’,300)
Select nome from fornecedor T1
where NOT EXISTS (select 1
FROM fornecimento T2
where T1.id = T2.id_forn)