Buscar

Banco-dados-exercicios011

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

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
Você viu 3, do total de 5 páginas

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

Aluno: Matr.: 
Disc.: FUND.BANCO DADOS 2020.1 - F (GT) / EX 
 
 
 
 
 
 
 
1. 
 
 
Sobre as subconsultas em SQL, assinale a 
alternativa FALSA. 
 
 Podem retornar linhas nulas. 
 
 Podem existir várias subconsultas para uma única consulta. 
 São escritas entre parênteses. 
 
 Podem retornar uma ou várias colunas. 
 
 Podem retornar uma ou várias linhas. 
 
 
 
Explicação: 
As subconsultas obedecem aos seguintes princípios: 
• São escritas entre parênteses. 
• Podem existir várias subconsultas para uma única consulta. 
• Podem existir subconsultas dentro de subconsultas (subconsultas 
aninhadas). 
• Podem retornar uma ou várias colunas. 
• Podem retornar uma ou várias linhas. 
• Normalmente são utilizadas nas cláusulas WHERE ou HAVING, podendo, 
mais raramente, serem utilizadas nas cláusulas FROM ou SELECT. 
• Eventualmente podem referenciar colunas da consulta principal 
(subconsulta correlata). 
• Não devem retornar linhas nulas. 
 
 
 
 
 
2. 
 
 
Qual operador retorna todas as linhas do primeiro 
conjunto acrescidas de todas as linhas do segundo 
conjunto, eliminando as duplicadas? 
 
 
 Intersect 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 Union 
 
 Inner join 
 
 Join 
 
 Except 
 
 
 
Explicação: 
O operador UNION realiza a operação de UNIÃO, ou seja, retorna todas as linhas 
do primeiro conjunto acrescidas de todas as linhas do segundo conjunto, 
eliminando as duplicadas. 
 
 
 
 
 
3. 
 
 
Baseado no modelo de banco de dados mostrado a 
seguir: 
FILIAL(idfilial(PK), nome, 
cidade,endereço,telefone) 
FUNCIONARIO(idfuncionario(PK),nome,endereço
,telefone,salario,idfilial) 
CLIENTE(idcliente(PK),nome,cpf,endereço,telefon
e,cidade) 
CLIENTE_ESPECIAL(idcliente(PK),Km,desconto)
 
CARRO(idcarro(PK),placa,modelo,tipo,cor,ano,Km
,valor,chassis,idfilial) 
ALUGUEL(NF(PK),idcarro,idcliente,valor,CNH,da
taIni,dataFim,idfuncionario) 
Qual o código do Carro que tem o maior valor de 
aluguel? 
 
 
 
 
SELECT idCarro FROM aluguel a where valor = (select sum(valor) from 
aluguel); 
 
 
 
SELECT idCarro, Max(valor) FROM aluguel; 
 
 
 
SELECT idCarro FROM aluguel a where valor = Max(valor); 
 
 
 SELECT idCarro, Max(valor) FROM aluguel a group by idcarro; 
 
SELECT idCarro FROM aluguel a where valor = (select Max(valor) from 
aluguel); 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
Explicação: 
Para executarmos a consulta temos que primeiro obter o maior valor de aluguel em 
uma subconsulta e depois utilizar este valor para filtrar as linhas na consulta 
principal 
 
 
 
 
 
4. 
 
 
Em um projeto lógico de um sistema foi identificado 
que um projeto é de um certo tipo. Assim, as 
relações abaixo foram definidas: 
TIPO_PROJETO (ID_TIPO, NOME) 
PROJETO (ID_PROJETO, NOME, DESCRICAO, 
ID_TIPO, VALOR) Conforme a linguagem SQL e 
as relações dadas, escolha a opção que mostre o 
nome de cada tipo de projeto que não possua um 
projeto e que comece com a letra A. 
 
 
 
 
SELECT TP.NOME 
FROM TIPO_PROJETO TP, PROJETO P 
WHERE TP.ID_TIPO = P.ID_TIPO AND TP.ID_TIPO IS NULL AND 
TP.NOME LIKE '%A%'; 
 
SELECT TP.NOME 
FROM TIPO_PROJETO TP, PROJETO P 
WHERE ID_TIPO IS NULL AND TP.NOME LIKE '%A%'; 
 
 
SELECT TP.NOME 
FROM TIPO_PROJETO TP, PROJETO P 
WHERE TP.ID_TIPO = P.ID_TIPO AND P.VALOR IS NULL AND 
TP.NOME LIKE '%A%'; 
 
SELECT NOME 
FROM TIPO_PROJETO 
WHERE ID_TIPO NOT IN (SELECT DISTINCT ID_TIPO FROM 
PROJETO) AND NOME LIKE 'A%' ; 
 
 
SELECT TP.NOME 
FROM TIPO_PROJETO TP, PROJETO P 
WHERE ID_TIPO IS NULL AND P.VALOR=0 AND TP.NOME LIKE 
'A%'; 
 
 
 
 
Explicação: 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
A subconsulta retorna o ID do tipos de projeto que possuem projeto e a clausula 
where filtrar as linhas da consulta principal que estão no conjunto retornado e 
ainda os nomes que não começam por A 
 
 
 
 
 
5. 
 
 
Considere as seguintes tabelas: 
 CLIENTE (idCli, NomeCli) 
 PEDIDO (idPEDIDO, Data, idCli, ValorPedido) 
Qual alternativa apresenta os clientes que NÃO 
tiveram nenhum pedido? 
 
 
 
 
SELECT * FROM CLIENTE WHERE idCli IN (SELECT idCli 
FROM PEDIDO) 
 
 
 
SELECT NomeCli FROM CLIENTE C RIGHT JOIN PEDIDO P ON 
C.idCli = P.idCli 
 
 
SELECT NomeCli FROM CLIENTE C LEFT JOIN PEDIDO P ON 
C.idCli = P.idCli 
 
 
 SELECT * FROM CLIENTE WHERE idCli NOT 
IN (SELECT idCli FROM PEDIDO) 
 
 
 
SELECT * FROM CLIENTE 
 
 
 
 
Explicação: 
O comando utiliza uma subconsulta para obter o id dos clientes que fizeram 
pedidos e a seguir filtra os clientes que não aparecem no conjunto retornado 
 
 
 
 
 
6. 
 
 
Dentre os comandos abaixo, selecione o que possui 
uma subconsulta. 
 
 
 SELECT * FROM PROFESSOR P, DISCIPLINA D 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
SELECT P.NOME, D.NOME FROM PROFESSOR P, DISCIPLINA D 
WHERE P.ID_PROF = D.ID_PROF 
 
 DROP TABLE PESSOA 
 
 
SELECT COUNT(*) FROM PRODUTO GROUP BY COR HAVING 
COR='VERDE' 
 
SELECT * FROM NOME WHERE MEIO IN (SELECT DISTINCT MEIO 
FROM NOME) 
 
 
 
Explicação: 
Subconsultas são escritas entre parênteses.