Buscar

BD1_SolEx7_SQL_2021_1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados (BD1) 2021.1 
Prof Sérgio Lifschitz 
E-mail: sergio@inf.puc-rio.br 
URL: http://home.ead.puc-rio.br/ 
Atendimento: Zoom / Discord 
 
 
Lista de Exercícios 7: SQL DML consultas 
Soluções Propostas 
 
BASE CARROS 
 
1. Quais revendedoras não vendem automóveis de origem francesa? 
SELECT CGC, Nome, Cidade, Estado 
FROM Revendedoras 
WHERE CGC not in 
 (SELECT G.CGC 
 FROM Automoveis A, Garagens G 
 WHERE A.Codigo = G.Codigo 
 AND A.Pais = 'Franca'); 
2. Listar código, fabricante, modelo e ano dos carros que são colocados à venda em pelo menos 
uma revendedora. 
➔ Exemplo de uso do EXISTS! Poderia ser solução direta por junção interna! 
 
SELECT Codigo, Fabricante, Modelo, Ano 
FROM Automoveis A 
WHERE exists 
(SELECT 1 -- podia ser * ou qualquer coisa, não importa o que retorna ou “exibe” 
FROM Garagens 
WHERE Codigo = A.Codigo 
AND Ano = A.Ano) 
3. Quais são os nomes e sobrenomes dos consumidores que ainda não compraram carro algum? 
SELECT nome, sobrenome 
FROM consumidores 
WHERE cpf NOT IN 
(SELECT cpf 
 FROM negocios ) 
 
4. Qual o automóvel (fabricante, modelo e ano) mais barato à venda nas revendedoras? 
SELECT fabricante, modelo, A1.ano 
FROM Automoveis as A1, Garagens as G1 
WHERE A1.codigo = G1.codigo AND A1.ano = G1.ano 
AND Preco_tabela <=ALL 
( SELECT Preco_tabela 
 FROM Automoveis as A2, Garagens as G2 
 WHERE A2.codigo = G2.codigo AND A2.ano = G2.ano ) 
 
 
 
 
Banco de Dados (BD1) 2021.1 
Prof Sérgio Lifschitz 
E-mail: sergio@inf.puc-rio.br 
URL: http://home.ead.puc-rio.br/ 
Atendimento: Zoom / Discord 
 
 
BASE EMPRESA 
 
5. Apresentar os nomes de todos os empregados que não têm dependente. 
SELECT nome 
FROM EMPREGADO 
WHERE Ident NOT IN 
(SELECT IdentEmp 
FROM DEPENDENTE) 
6. Listar todos os empregados que moram em cidades cujo nome começa por “São”. 
SELECT * 
FROM EMPREGADO 
WHERE ENDERECO LIKE ‘São%’ 
7. Apresentar o resultado dos salários dos empregados que trabalham no projeto “Reengenharia” 
caso fosse dado um aumento de 10%. 
SELECT EMPREGADO.NOME, 1.1*SAL AS SALARIOmais10porcento 
FROM EMPREGADO, TRABALHANO, PROJETO 
WHERE EMPREGADO.IDENT = TRABALHANO.IDENTEMP 
AND TRABALHANO.PROJNUM = PROJETO.NUM 
AND PROJETO.NOME = 'Reengenharia'; 
8. Qual(is) empregado(s) não tem (têm) superior imediato? 
SELECT NOME 
FROM EMPREGADO 
WHERE SUPERIDENT IS NULL 
9. Listar todos os locais onde se encontram departamentos da empresa ou onde são realizados 
projetos. 
( SELECT Local FROM PROJETO ) 
UNION -- ou UNION ALL 
( SELECT Local FROM DEPLOC )

Continue navegando