Buscar

Comandos SQL para Consultas

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

SELECT colunas (pi)
FROM tabela (relação)
WHERE restrição, condição para os atributos (sigma)
SELECT * FROM Empregados WHERE depto = 'd5' -> esta mostrando todas as colunas
para as tuplas onde departamento é d5
*: significa todos
Empregado e-> 'e' é o novo nome para empregado, o espaço significa um apelido
SELECT e.*
FROM Empregado e, Departamento d
WHERE d.nome = 'Pessoal' and d.coddep = e.depto
SELECT DISTINCT salario
FROM empregado
(SELECT p.nome
FROM Projeto P, Departamento d, Empregado e
WHERE d.coddep = p.depart and d.gerente = e.matricula and e.nome = 'Silva')
UNION
(SELECT p.nome
FROM Projeto p, Alocação a, Empregado e
WHERE p.codproj = a.codproj and e.matricula = a.matricula and e.nome = 'Silva')
SELECT e.nome
FROM empregado e
WHERE e.matricula in
	(SELECT matricula
	FROM dependente
	WHERE matricula = e.matricula and e.nome = nome and e.sexo = sexo)
->EXISTS usada para verificar se o resultado de uma consulta ja esta aninhado
SELECT e.nome
FROM empregado e
WHERE EXISTS (SELECT *
	 FROM dependente
	 WHERE e.matricula = matricula and e.nome = nome and e.sexo = sexo)
SELEXT e.nome
FROM empregado e
WHERE NOT EXISTS (SELECT *
		FROM dependente
		WHERE e.matricula = matricula)
SELECT DISTINCT matric
FROM alocacao
WHERE codigop in (10, 20, 30)
divisão:
SELECT mat
FROM empregado e
WHERE NOT EXISTS(
	(SELECT codporj FROM alocacao WHERE mat = 800)
 EXCEPT
	(SELECT codporj FROM alocacao a WHERE a.mat = e.mat)
)
SELECT nome
FROM empregado
WHERE supervisor IS NULL //quando não tem supervisor
Funções de agregação:
COUNT: numero de tuplas
SUM: somatorio
AVG: media
MAX: máximo
MIN: mínimo
SELECT SUM (salario), MAX (salario), MIN (salario), AVG (salario)
FROM empregado
SELECT MAX (salario), MIN (salario)
FROM empregado e, departamento e
WHERE e.depto = d.coddep and d.nome = 'produção'
SELECT COUNT (*)
FROM empregado
SELECT COUNT (DISTINCT salario)
FROM empregado e, departamento e
WHERE (e.depto = d.coddep and d.nome = 'contabilidade')
SELECT e.nome
FROM emrpegado e
WHERE (SELECT COUNT (*)
	FROM dependente e
	WHERE (e.matricula = d.matricula) >= 2)
SELECT mat, salario, (SELECT MAX (salario) FROM empregado)
FROM empregado
SELECT depto, COUNT (*), AVG (salario)
FROM empregado
GROUP BY depto
group by, having (usada para lidar com grupos)
having: permitir a inclusão de condições nos grupos
SELECT p.codproj, p.nome, COUNT (*)
FROM projeto p, alocacao a
WHERE p.codproj = a.codigop
GROUP BY p.codproj, p.nome
HAVING COUNT (*) > 2

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais