Baixe o app para aproveitar ainda mais
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
Compartilhar