Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS TESTE

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 29 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

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 6, do total de 29 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

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 9, do total de 29 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

Prévia do material em texto

1.
		Considere a seguinte tabela criada:
Aluno {matricula, nome, email}
Marque a alternativa que representa em Álgebra Relacional, a PROJEÇÃO  apenas do nome do aluno cuja matrícula é 0364.
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	 
		
	
		2.
		Uma imobiliária possui um banco de dados com informações de clientes e imóveis. Entre as tabelas do sistema existem as tabelas abaixo:
Analise a expressão da álgebra relacional:
O resultado da expressão acima retorna
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
Explicação:
O produto cartesiano retornará uma combinação de todas as linhas das tabelas envolvidas, para as quais CLIENTE.estado = IMOVEL.local:
A seleção atuará e retornará somente as linhas cujo estado = RJ.
A projeção atuará e retornará somente as colunas nome e tipo.
	
	
	
	 
		
	
		3.
		Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação.
	
	
	
	Interseção
	
	
	Junção
	
	
	Diferença
	
	
	União
	
	
	Projeção
	
	
	
	 
		
	
		4.
		Em relação a álgebra linear é correto afirmar que:
     I - A operação de projeção é aplicada sobre apenas uma relação visando selecionar um subconjunto de tuplas (com todos os seus atributos).
     II  O produto cartesiano é uma operação binária que combina todas as tuplas de duas tabelas.
     III - A operação de seleção é aplicada sobre apenas uma relação de visando projetar os atributos de uma relação de acordo com uma lista de atributos oferecida.
Estão corretas:
	
	
	
	Somente I
	
	
	I e III
	
	
	Somente III
	
	
	II e III
	
	
	Somente a II
	
	
	
	 
		
	
		5.
		Uma imobiliária possui um banco de dados com informações de clientes e imóveis. Entre as tabelas do sistema existem as tabelas abaixo:
Analise a expressão da álgebra relacional:
O resultado da expressão acima retorna
 
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
Explicação:
O produto cartesiano retornará uma combinação de todas as linhas das tabelas envolvidas:
A seleção atuará e retornará somente as linhas cujo estado = RJ.
A projeção atuará e retornará somente as colunas nome e tipo.
 
	
	
	
	 
		
	
		6.
		Álgebra Relacional é o conjunto de operações sobre modelos relacionais de dados. Referente as operações de álgebra relacional, relacione cada uma com os objetivos apresentados a seguir. 
1. Seleção
2. Projeção
3. Produto Cartesiano
4. Junção
(     )    É utilizada para selecionar um subconjunto de tuplas de uma relação.
(     )    Seleciona um conjunto determinado de colunas de uma relação.
(     )    É uma operação binária que combina todas as tuplas de duas relações.
(     )    O resultado conterá apenas as tuplas que se relacionam de acordo com uma determinada condição.
A relação correta entre as camadas e as características, de cima para baixo, é:
	
	
	
	2, 1, 4, 3
	
	
	2, 1, 3, 4
	
	
	1, 2, 3, 4
	
	
	1, 3, 4, 2
	
	
	1, 2, 4, 3
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 AND numQuartos >1
	
	
	SELECT Imovel FROM Tamanho > 70 OR numQuartos > 1
	
	
	SELECT Tamanho > 70 OR numQuartos > 1 FROM Imovel
	
	
	SELECT Tamanho > 70 AND numQuartos > 1 FROM Imovel
	
	
	SELECT * FROM Imovel WHERE Tamanho > 70 OR numQuartos >1
	
	
	
	 
		
	
		8.
		A operação da álgebra relacional que recupera linhas em uma tabela é denominada:
	
	
	
	Produto cartesiano
	
	
	Projeção
	
	
	Junção
	
	
	Seleção
	
	
	Diferença
	
	
		1.
		Qual o efeito da seguinte instrução no banco de dados? DELETE FROM tabela
	
	
	
	Exclui a primeira linha da tabela
	
	
	Exclui a tabela do banco de dados
	
	
	Exclui todas as linhas da tabela
	
	
	Exclui todas as colunas da tabela
	
	
	Exclui o banco de dados inteiro
	
	
	
	 
		
	
		2.
		Partindo da tabela a seguir, considerando que a mesma já foi criada de acordo com essa ordem de atributos, como ficaria o comando SQL para aumentar em 10% o valor unitário de cada produto?
	
	
	
	UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + 10 /100;
	
	
	UPDATE X_PROD SET VALOR_UNIT + 10 /100;
	
	
	UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT + VALOR_UNIT * 10 /100;
	
	
	UPDATE X_PROD SET VALOR_UNIT = VALOR_UNIT * 10 /100;
	
	
	UPDATE X_PROD SET VALOR_UNIT + VALOR_UNIT * 10 /100;
	
	
	
	 
		
	
		3.
		Uma imobiliária está criando um banco de dados específico para aluguel de imóveis por temporada. A primeira tabela a ser criada no banco de dados é a tabela TipoImovel, representada pela figura:
Sabendo-se que o atributo NomeTipoImovel é obrigatório, assinale qual das alternativas abaixo cria esta tabela corretamente no banco de dados:
	
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, PRIMARY KEY, NomeTipoImovel VARCHAR (50) NOT NULL)
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50), Primary Key (CodTipoImovel))
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50))
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL)
	
	
	CREATE TABLE TipoImovel (CodTipoImovel INTEGER, NomeTipoImovel VARCHAR (50) NOT NULL, Primary Key (CodTipoImovel))
	
	
	
	 
		
	
		4.
		São comandos DDL
	
	
	
	INSERT, UPDATE, DELETE
	
	
	INSERT, UPDATE, DROP
	
	
	CREATE, ALTER, DROP
	
	
	CREATE, ALTER, DELETE
	
	
	CREATE, UPDATE, DELETE
	
	
	
	 
		
	
		5.
		Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?.
	
	
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25
	
	
	update paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	update paciente where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	
	 
		
	
		6.
		Um projetista de banco de dados, novato na profissão, foi incumbido de criar um banco para
armazenar dados sobre clientes de uma empresa, contendo identificador e nome; vendedores
dessa empresa, também com identificador e nome; e data da realização das vendas. Esse
projetista decidiu criar uma única tabela, cujo esquema é apresentado abaixo.
CREATE TABLE VENDAS(
ID_CLIENTE INTEGER,
NOME_CLIENTE VARCHAR(60),
ID_VENDEDOR CHAR(2),
NOME_VENDEDOR VARCHAR(60),
DATA_VENDA DATE );
Após criar a tabela, o projetista inseriu alguns registros nela, de forma que o estado final ficou
como o descrito na imagem abaixo:
 
Ao analisar a solução proposta pelo novato, outro projetista, mais experiente, informou que, em
virtude da tabela não estar adequadamente normalizada, algumas operações em SQL, realizadas
sobre ela, podem levar o banco de dados a um estado inconsistente ou à perda de informações.
Quais são essas operações?
	
	
	
	UPDATE, DELETE e INSERT. 
	
	
	UPDATE e DELETE, apenas. 
	
	
	INSERT e SELECT, apenas.
	
	
	DELETE e SELECT, apenas.
	
	
	DELETE e INSERT, apenas.
	
	
	
	 
		
	
		7.
		Em um banco de dados, que comando SQL é utilizado para eliminar uma tabela?
	
	
	
	DROP
	
	
	UPDATE
	
	
	INSERT
	
	
	DELETE
	
	
	ALTER
	
	
	
	 
		
	
		8.
		Considere o modelo de banco de dados abaixo: medico (CRM, NomeMedico, Idade,Cidade,Especialidade); paciente (Ident,NomePaciente,Idade,Cidade,Doenca); consulta (Ident, CRM, Data, Hora); Qual alternativa altera a idade do paciente "Fulano de tal"?.
	
	
	
	update paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	update paciente where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25
	
		1.
		O esquema debanco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
 
Assinale em qual das consultas abaixo são selecionados nomes populares de tubarões, sem repetição, que foram capturados com temperatura da água igual a 25 e 27 graus:
	
	
	
	SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA NOT BETWEEN 25 AND 27;
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27);
	
	
	SELECT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA BETWEEN 25 AND 27;
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND E.IDESPECIE = T.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA = 25 AND 27;
	
	
	SELECT DISTINCT NomePopular FROM NOME N, ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE N.IDESPÉCIE = E.IDESPECIE AND T.IDTUBARÃO = C.IDTUBARÃO AND TEMPAGUA IN(25,27);
	
	
	
	 
		
	
		2.
		Considere a seguinte consulta SQL:SELECT XXX A FROM TAB.Para que não haja repetições nos valores obtidos como resposta para o atributo A, XXX deve ser substituído por:
	
	
	
	LIKE
	
	
	DISTINCT
	
	
	IN
	
	
	ALL
	
	
	SINGLE
	
	
	
	 
		
	
		3.
		ALUNO (cpf : string , nome : string , endereco : string, telefone : string) MATRICULA (cpf : string , cod-cad : string) CADEIRA (cod-cad : string , nome : string , creditos : number) Qual o comando SQL que obtém apenas os nomes de todos os alunos?
	
	
	
	SELECT * FROM ALUNO WHERE nome IS STRING
	
	
	LIST nome FROM ALUNO
	
	
	SELECT nome WHERE ALUNO
	
	
	LIST * FROM ALUNO
	
	
	SELECT nome FROM ALUNO
	
	
	
	 
		
	
		4.
		Considere a consulta a seguinte:
Marque a alternativa que representa o script equivalente em SQL:
	
	
	
	SELECT matricula = 0364 FROM aluno WHERE nome; 
	
	
	SELECT * FROM aluno WHERE nome, matricula = 0364;
	
	
	SELECT aluno WHERE matricula = 0364;
	
	
	SELECT nome FROM aluno WHERE matricula = 0364;
	
	
	SELECT aluno FROM nome WHERE matricula = 0364;
	
	
	
	 
		
	
		5.
		Considere a relação abaixo:
AUTOMÓVEL (placa, fabricante, modelo, cor, data_de_fabricação)
A consulta SQL que responde a questão "Liste todos os automóveis (placa, modelo, cor)  fabricados pela VW ou pela Fiat" é:
	
	
	
	Nenhuma das resposta acima.
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN (VW, FIAT);
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE =  VW AND FABRICANTE = FIAT;
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN  VW AND FIAT;
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS (VW, FIAT);
	
	
	
	 
		
	
		6.
		Um programador precisa utilizar, em uma aplicação conectada a um banco de dados Oracle, uma instrução SQL para exibir apenas os nomes de funcionários da tabela func cujo campo nome se inicie pela letra P. A instrução correta que deve ser utilizada é
	
	
	
	SELECT nome FROM func WHERE nome LIKE P%;
	
	
	SELECT nome FROM func LIKE nome=P%;
	
	
	SELECT nome FROM func WHERE nome CONTAINS P%;
	
	
	SELECT nome FROM func WHERE nome=P%;
	
	
	SELECT nome FROM func WITH P% IN nome;
	
	
	
	 
		
	
		7.
		 
	
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT DISTINCT NOMEP FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	
	 
		
	
		8.
		Observe a tabela abaixo, referente a um banco de dados empresa:
Para gerar uma consulta SQL com todos os atributos, classificados por NOME_PACIENTE, deve-se utilizar o seguinte comando:
	
	
	
	SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE DESC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * OVER PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * OVER PACIENTE ORDER BY NOME_PACIENTE;
	
		1.
		
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 até a data de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA BETWEEN 15/11/2014 AND 16/11/2014;":
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA > 15/11/2014 AND < 16/11/2014;
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014,16/11/2014);
	
	
	SELECT * FROM TCC WHERE DTDEFESA => 15/11/2014 AND <= 16/11/2014;
	
	
	SELECT * FROM TCC WHERE DTDEFESA = 15/11/2014 AND 16/11/2014;
	
	
	SELECT * FROM TCC WHERE DTDEFESA IN (15/11/2014 AND 16/11/2014);
	
	
	
	 
		
	
		2.
		Durante uma consulta SQL, utilizando o comando select, é possível selecionar linhas que se assemelham em uma determinada porção de uma string. Qual é o operador utilizado para esse tipo de seleção?
	
	
	
	Operador de Intervalos (between)
	
	
	Operador de comparação (=,>,<)
	
	
	Operador de Caracteres semelhantes (like)
	
	
	Operador de indisponibilidade (maybe)
	
	
	Operador de Listas(in)
	
	
	
	 
		
	
		3.
		
 
 
 
 
 
 
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2015 até o dia de hoje, assinale qual das alternativas abaixo retornaria o mesmo resultado que o comando "SELECT * FROM TCC WHERE DTDEFESA IN (21/11/2016, 22/11/2016);":
	
	
	
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN 21/11/2016 AND 22/11/2016;
	
	
	SELECT * FROM TCC WHERE DTDEFESA => 21/11/2016 AND <= 22/11/2016;
	
	
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN (21/11/2016; 22/11/2016);
	
	
	SELECT * FROM TCC WHERE DTDEFESA = 21/11/2016 AND 22/11/2016;
	
	
	SELECT * FROM TCC WHERE DTDEFESA > 21/11/2016 AND < 22/11/2016;
	
	
	
	 
		
	
		4.
		Qual das consultas a seguir responde a seguinte pergunta: quais os nomes dos alunos que possuem média maior que 6 e idade não superior a 30 anos?
	
	
	
	SELECT nome, endereco FROM alunos WHERE media > 6 OR idade > 30
	
	
	SELECT nome FROM professores WHERE media > 6 AND idade <= 30
	
	
	SELECT nome FROM alunos WHERE media >= 6 OR idade <= 30
	
	
	SELECT nome, cpf FROM alunos WHERE media >= 6 AND idade <= 30
	
	
	SELECT nome FROM alunos WHERE media > 6 AND idade <= 30
	
	
	
	 
		
	
		5.
		
	
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE *churrasqueira*
	
	
	SELECT * FROM TipoImovel WHERE Descricao LIKE %churrasqueira%
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE %churrasqueira%
	
	
	SELECT * FROM Imovel WHERE Descricao LIKE _churrasqueira%
	
	
	SELECT * FROM TipoImovel WHERE Descricao LIKE _churrasqueira*
	
	
	
	 
		
	
		6.
		
	
	
	
	DELETE ALL FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	DELETE ALL FROM ALUGUEL WHERE CODIMOVEL IS NULL
	
	
	DELETE FROM ALUGUEL WHERE CODANUNCIO IS NOT NULL
	
	
	DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL
	
	
	DELETE * FROM ALUGUEL WHERECODANUNCIO IS NULL
	
	
	
	 
		
	
		7.
		Considere a relação abaixo:
CLIENTE (cpf, nome, endereço, telefone)
A consulta SQL que responde a pergunta "Quais os clientes (cpf e nome) que não possuem endereço cadastrado" é:
	
	
	
	SELECT * FROM CLIENTE WHERE ENDERECO IS NULL;
	
	
	SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NOT NULL;
	
	
	SELECT CPF, NOME FROM CLIENTE WHERE ENDERECO IS NULL;
	
	
	Nenhuma das respostas acima.
	
	
	SELECT CPF, NOME FROM CLIENTE;
	
	
	
	 
		
	
		8.
		De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
Apresentar apenas os nomes completos dos Empregados que tenham no cargo a palavra "venda".
	
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE %venda% ;
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE CARGO LIKE %VENDA% ;
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO WHERE CARGO LIKE %VENDA% ;
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE %VENDA% ;
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO WHERE UPPER(CARGO) LIKE %VENDA% ;
	
	
		1.
		Em uma tabela criada no banco de dados com o nome VEICULOS, contendo os campos ID, DESCRICAO, MARCA e MODELO, indique a alternativa que apresenta o comando correto para selecionar a quantidade de veículos cadastrados por modelo, ordenado por modelo em ordem crescente.
	
	
	
	SELECT DESCRICAO, MODELO FROM VEICULOS ORDER BY DESCRICAO desc;
	
	
	SELECT MODELO, COUNT(ID) FROM VEICULOS GROUP BY MARCA ORDER BY MODELO desc;
	
	
	SELECT MODELO, COUNT(ID) FROM VEICULOS GROUP BY MODELO ORDER BY MODELO Asc;
	
	
	SELECT * FROM VEICULOS ORDER BY MODELO desc;
	
	
	SELECT * FROM VEICULOS GROUP BY MODELO;
	
	
	
	 
		
	
		2.
		Em SQL (Structured Query Language), as funções de agregação são muito úteis para obtenção de informação
resumida sobre um resultado de um comando SELECT e também no tratamento de informações de forma agrupada
(geralmente em grupos menores). No agrupamento de informações, resultados de consultas SQL, algumas cláusulas
devem ser utilizadas quando se pretende restringir o conjunto de registros a ser utilizado. Nesse sentido, analise a
afirmativa a seguir.
Utiliza-se a cláusula ________________ sempre que se pretende restringir os registros a serem considerados na
seleção. A cláusula ________________ serve para restringir os grupos que foram formados depois de aplicada a
restrição da cláusula ________________."
Assinale a alternativa que completa correta e sequencialmente a afirmativa anterior.
	
	
	
	HAVING / WHERE / HAVING
	
	
	WHERE / HAVING / WHERE
	
	
	WHERE / GROUP BY / HAVING
	
	
	GROUP BY / HAVING / WHERE
	
	
	WHERE / HAVING / GROUP BY
	
	
	
	 
		
	
		3.
		Após a execução dos seguintes comandos em linguagem SQL:
CREATE TABLE Carros (Codigo int PRIMARY KEY,  Modelo varchar(30))
INSERT INTO Carros VALUES (NULL, Alfa Romeo)
INSERT INTO Carros VALUES (5000, Mazda)
SELECT COUNT(*) FROM Carros
Será retornado o valor:
	
	
	
	0
	
	
	1
	
	
	2
	
	
	NULL
	
	
	5000
	
	
	
	 
		
	
		4.
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador AND faz a checagem de valores zerados
	
	
	O operador IN pode ser usado para comparar valores na cláusula FROM
	
	
	DESC é obrigatoriamente necessário à cláusula ORDER BY quando se deseja ordenar decrescentemente
	
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	
	O operador LIKE é usado para operações com booleanos
	
	
	
	 
		
	
		5.
		
	
	
	
	2,35
	
	
	6
	
	
	4,29
	
	
	10
	
	
	3,45
	
	
	
	 
		
	
		6.
		Quando usar o Group By
	
	
	
	Quando Usar o Order By
	
	
	Quando usar a Função Where
	
	
	Sempre apos o comando Where
	
	
	Quando usar o Order By em conjunto com a função SUM
	
	
	Quando usar funções de Coluna
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT MEDIA(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
	
	
	SELECT MEDIA(NUMVAGASGARAGEM) FROM IMOVEL
	
	
	SELECT SUM(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
	
	
	SELECT AVG(NUMVAGASGARAGEM) FROM IMOVEL
	
	
	SELECT AVG(NUMVAGASGARAGEM) "MÉDIA NUM. VAGAS DE GARAGEM" FROM IMOVEL
	
	
	
	 
		
	
		8.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
 
Assinale a alternativa abaixo que retorna a média de comprimento dos tubarões e a temperatura mínima e máxima da água agrupadas pelo nome científico da Espécie:
	
	
	
	SELECT Nome_Científico, SUM(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome);
	
	
	SELECT Nome_Científico, AVG(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT IDEspecie, AVG(Comprimento), MAX(TempAgua), MIN(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT Nome, AVG(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
	SELECT Nome_Científico, SUM(Comprimento), MIN(TempAgua), MAX(TempAgua) FROM ESPÉCIE E, TUBARÃO T, CAPTURA C WHERE E.IDEspecie = T.IDEspecie AND T.IDTubarão = C.IDTubarão GROUP BY (Nome_Científico);
	
	
		1.
		Quando dois conjuntos de dados são concatenados de acordo com uma determinada condição, representa o resultado da operação relacional:
	
	
	
	junção
	
	
	intersecção
	
	
	união
	
	
	projeção
	
	
	restrição
	
	
	
	 
		
	
		2.
		Considere o seguinte comando SQL: SELECT D.NM_DEPARTAMENTO, SUM(P.SALARIO) FROM TB_DEPARTAMENTO D INNER JOIN TB_PROFESSOR P ON (D.COD_DEPARTAMENTO = P.COD_DEPARTAMENTO) É CORRETO afirmar:
	
	
	
	A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ).
	
	
	soma total.
	
	
	A consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR.
	
	
	Se existir uma linha na tabela TB_PROFESSOR com valor NULO (NULL) para o atributo SALARIO, o resultado da consulta também será um valor NULO (NULL).
	
	
	A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY.
	
	
	
	 
		
	
		3.
		A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina Banco de Dados com o professor Rui?
Use inner join. Relações:
PROFESSOR (idprofessor, nomeprofessor);
LECIONA (idprofessor, iddisciplina);
DISCIPLINA (iddisciplina, nomedisciplina);
ALUNO (matricula, nomealuno);
MATRICULA (inscrição, iddisciplina, matricula, nota, período, ano)
	
	
	
	SELECT count(distinct) AS total FROM professor p INNER JOIN leciona l ON p.idprofessor = l.idprofessor INNER JOIN disciplina d ON l.iddisciplina = d.iddisciplina INNER JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui AND nomedisciplina = Banco de Dados
	
	
	SELECT count(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = Rui ANDnomedisciplina = Banco de Dados
	
	
	SELECT count(*) AS total FROM professor p LEFT JOIN leciona l ON p.idprofessor = l.idprofessor LEFT JOIN disciplina d ON l.iddisciplina = d.iddisciplina LEFT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui OR nomedisciplina = Banco de Dados
	
	
	SELECT sum(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = Rui AND nomedisciplina = Banco de Dados
	
	
	SELECT count(distinct) AS total FROM professor p RIGHT JOIN leciona l ON p.idprofessor = l.idprofessor RIGHT JOIN disciplina d ON l.iddisciplina = d.iddisciplina RIGHT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = Rui OR nomedisciplina = Banco de Dados
	
	
	
	 
		
	
		4.
		O comando select permite gerar produto cartesiano
porque
os bancos relacionais utilizam álgebra relacional.
	
	
	
	Ambas sentenças estão erradas.
	
	
	O select permite produto cartesiano mas por outra ração que não é a algebra relacional.
	
	
	Ambas sentenças estão certas.
	
	
	A primeira sentença está certa porém a segunda está errada.
	
	
	A primeira sentença está errada porém a segunda está certa.
	
	
	
	 
		
	
		5.
		
	
	
	
	três
	
	
	quatro
	
	
	seis
	
	
	cinco
	
	
	sete
	
	
	
	 
		
	
		6.
		Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros?
	
	
	
	22 registros
	
	
	320 registros
	
	
	160 registros
	
	
	20 registros
	
	
	220 registros
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi LEFT JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi INNER JOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi RIGHTJOIN Carro c ON fi.idfilial=c.filial_idfilial GROUP BY filial
	
	
	
	 
		
	
		8.
		
	
	
	
	dez linhas.
	
	
	cinco linhas.
	
	
	seis linhas.
	
	
	quinze linhas.
	
	
	oito linhas.
	
	
		1.
		Considere as seguintes tabelas de um banco de dados:
Estado (UF, NomeEstado)
Cidade (CodCidade, NomeCidade, UF)
UF referencia Estado
Escolha o comando SQL que liste o nome de cada estado e a quantidade de cidades cadastradas para cada um:
	
	
	
	SELECT UF, Count(*) FROM Cidade GROUP BY UF
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF GROUP BY E.NomeEstado
	
	
	SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E GROUP BY E.NomeEstado
	
	
	SELECT Count(*) FROM Estado
	
	
	(J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING Count(*) >= 1
	
	
	
	 
		
	
		2.
		eM  um banco de dados há três tabelas: T1, T2 e T3, com 10, 20 e 30 registros respectivamente. Cada tabela possui um atributo A, sobre o qual é definida uma chave primária. Nesse cenário, está correto concluir que o comando select T1.* from T1 cross join T2 cross join T3 produz um resultado que, além da linha de títulos, possui:
	
	
	
	20 linhas;
	
	
	600 linhas;
	
	
	30 linhas;
	
	
	6.000 linhas.
	
	
	10 linhas;
	
	
	
	 
		
	
		3.
		SEJA O MODELO: Forncedor(cod_fornec, nome_fornec, telefone, cidade, uf) Estado(UF, nome_estado) A expressão SQL que obtém os nomes dos estados para os quais não há fornecedores cadastrados é:
	
	
	
	SELECT E.UF FROM ESTADO AS E WHERE E.nome_estado NOT IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	SELECT E.nome_estado FROM Estado AS E WHERE E.UF IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor as F WHERE E.nome_estado = F.UF
	
	
	SELECT E.nome_estado FROM Estado AS E WHERE E.UF NOT IN (SELECT F.UF FROM FORNECEDOR AS F)
	
	
	SELECT E.nome_estado FROM Estado AS E, FROM Fornecedor AS F WHERE E.UF = F.UF
	
	
	
	 
		
	
		4.
		A junção irrestrita também é conhecida como:
	
	
	
	Autojunção
	
	
	Junção Exterior
	
	
	Junção Contínua
	
	
	Junção Interior
	
	
	Junção Cruzada
	
	
	
	 
		
	
		5.
		
	
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA*PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE PERIODO > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(VALORDIARIA) FROM ALUGUEL);
	
	
	
	 
		
	
		6.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
 
Sabendo-se que a tabela nome contém nomes populares de tubarões e deseja-se listar o comprimento e o sexo de todos os tubarões que tem nome popular terminado com a letra k. Assinale a alternativa abaixo que retorna corretamente a consulta desejada:
	
	
	
	SELECT * FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like %k;
	
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = N.IDEspécie AND NomePopular like %k;
	
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like _k;
	
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND NomePopular like %k;
	
	
	SELECT Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = E.IDEspecie AND N.IDEspécie = E.IDEspecie AND UPPER (NomePopular) like %k%;
	
	
	
	 
		
	
		7.
		
	
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS "NUMERO QUARTOS E BANHEIROS", NUMBANHEIROS FROM IMOVEL , TIPOIMOVEL WHERE UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND UPPER(NOMETIPOIMOVEL) = APARTAMENTO PADRÃO;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS , NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL , TIPOIMOVEL WHERE NOMETIPOIMOVEL = APARTAMENTO PADRÃO;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS || - || NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL AND NOMETIPOIMOVEL = APARTAMENTO PADRÃO;
	
	
		1.
		Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das tabelas, pois retorna diferentes resultados ao se inverter a ordemdas tabelas?
	
	
	
	MINUS ALL
	
	
	MINUS
	
	
	INTERSECT
	
	
	UNION ALL
	
	
	UNION
	
	
	
	 
		
	
		2.
		
	
	
	
	SELECT * FROM TipoImovel T RIGHT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T CROSS JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T INNER JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T FULL JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	SELECT * FROM TipoImovel T LEFT JOIN Imovel I ON T.CODTIPOIMOVEL = I.CODTIPOIMOVEL
	
	
	
	 
		
	
		3.
		Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM VENDEDOR); É correto afirmar que
	
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores.
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados.
	
	
	se trata de um exemplo de OUTER JOIN.
	
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores.
	
	
	se trata de um exemplo de INNER JOIN.
	
	
	
	 
		
	
		4.
		Sobre o script abaixo: SELECT nome pessoa from Pessoa UNION ALL SELECT numero from Empregado Assinale a alternativa correta:
	
	
	
	Não existe retorno, uma vez que os dados são diferentes das colunas.
	
	
	Retorna os nomes dos empregados e os números sem repetição.
	
	
	Retorna os números dos empregados e os nomes das pessoas sem repetição.
	
	
	Retorna os números dos empregados e os nomes das pessoas com repetição.
	
	
	O script retorna dados de diferentes tabelas sem repetição.
	
	
	
	 
		
	
		5.
		Usado para combinar o resultado conjunto de duas ou mais instruções select, considerando que cada select deve ter o mesmo número de colunas, as quais devem ter tipos de dados similares. Além disso, as colunas em cada instrução select devem estar na mesma ordem. Trata-se de
	
	
	
	format.
	
	
	like.
	
	
	union.
	
	
	In
	
	
	join.
	
	
	
	 
		
	
		6.
		Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para os quais não há fornecedores cadastrados é:
	
	
	
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf FROM fornecedor AS f );
	
	
	SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf;
	
	
	SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf;
	
	
	SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM fornecedor AS f );
	
	
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM fornecedor AS f );
	
	
	
	 
		
	
		7.
		(NCE-UFRJ - 2005 - BNDES - Análise de Sistemas - Desenvolvimento)
Considere um banco de dados simplificado referente ao controle de concursos, constituído pelas tabelas Concurso, Cargo, Candidato e Inscrição, criadas pelo script SQL mostrado abaixo.
 
create table concurso (id_concurso int not null primary key, concurso varchar(60) not null);
create table cargo (id_cargo int not null primary key,cargo varchar(60) not null, id_concurso int not null, constraint ci0 foreign key (id_concurso) references concurso (id_concurso));
create table candidato (id_candidato int not null primary key, nome varchar(40) not null);
 
A consulta SQL que produz a lista dos candidatos que se inscreveram em todos os concursos é:
 
 
	
	
	
	select nome
from candidato cd
where
not exists
    (select *
     from concurso cc
     where
     exists
        (select *
         from inscrição i
         where i.id_concurso=cc.id_concurso
         and i.id_candidato=cd.id_candidato))
	
	
	select nome
from candidato cd
where
not exists
    (select *
     from concurso cc
     where
     not exists
        (select *
         from inscrição i
         where i.id_concurso <> cc.id_concurso
         and i.id_candidato <> cd.id_candidato))
	
	
	select nome
from candidato cd
where
exists
(select * from concurso cc
  where not in
   (select *
     from inscrição i
       where i.id_concurso=cc.id_concurso
          and i.id_candidato=cd.id_candidato))
	
	
	select nome from candidato cd where
not exists
    (select *  from concurso cc  where
     not exists
        (select * from inscrição i  where i.id_concurso=cc.id_concurso 
                                                         and i.id_candidato=cd.id_candidato))
	
	
	select nome
from candidato cd
where
exists
    (select *
     from concurso cc
     where
     not exists
        (select *
         from inscrição i
         where i.id_concurso=cc.id_concurso
         and i.id_candidato=cd.id_candidato))
	
	
	
	 
		
	
		8.
		(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA)
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é
	
	
	
	Uma visão.
	
	
	Uma subconsulta.
	
	
	Um join.
	
	
	Um crosstab.
	
	
	Um índice.
	
	 
		
	
		1.
		Considere a seguinte consulta SQL:
SELECT nome,  count(*)
FROM aluno
GROUP BY nome
Esta consulta tem como resultado.
	
	
	
	todos os atributos da tabela nome, além do atributo especial Count.
	
	
	o atributo nome e a soma do conteúdo do atributo nome, da tabela aluno.
	
	
	o atributo nome e o número de registros existentes para cada nome, da tabela aluno.
	
	
	todos os atributos das tabelas nome e aluno.
	
	
	o atributo nome e o número de registros existentes para cada nome, na tabela nome.
	
	
	
	 
		
	
		2.
		
	
	
	
	SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho
	
	
	SELECT * FROM Imovel WHERE NumQuartos BETWEEN 2 AND 4 ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumBanheiros BETWEEN 2 AND 4 ORDER BY Tamanho DESC
	
	
	SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho
	
	
	
	 
		
	
		3.
		O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
	
	
	
	Seleção
	
	
	Junção
	
	
	União
	
	
	Interseção
	
	
	Projeção
	
	
	
	 
		
	
		4.
		Sobre a cláusula WHERE do comando SELECT, é correto afirmar que:
	
	
	
	Filtra as colunas a serem exibidas no resultado
	
	
	Nunca pode ser utilizado com uma junção
	
	
	Especifica condição de ordenação
	
	
	É utilizado em todos os comandos SELECT
	
	
	Filtra as linhas a serem exibidas no resultado
	
	
	
	 
		
	
		5.
		Qual das alternativas a seguir apresenta a sintaxe correta do comando SELECT aplicando as cláusulas GROUP BY e HAVING?
	
	
	
	SELECT FROM GROUP BY WHERE HAVING
	
	
	SELECT FROM WHERE GROUP BY HAVING
	
	
	SELECT HAVING FROM WHERE GROUP BY
	
	
	SELECT HAVING FROM WHERE GROUP BY
	
	
	SELECT FROM HAVING GROUP BY WHERE
	
	
	
	 
		
	
		6.
		Considere a relação:
FUNCIONARIO (matrícula, cargo, salario, admissao)
A consulta SQL que mostra o total dos salários dos funcionários é:
 
	
	
	
	SELECT SALARIO FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	Nenhuma das repostas acima
	
	
	SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO;
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO;
	
	
	
	 
		
	
		7.
		Ano: 2014 - Banca: CESGRANRIO - Órgão: FINEP - Prova: Analista - Desenvolvimento de Sistemas
Ao implementar um sistema de gerência de fornecedores, o desenvolvedor percebeu que não existia no banco de dados relacional da empresa qualquer representação da entidade PRODUTO que aparecia em seu modelo de dados. Para corrigir essa falha, preparou um comando SQL que alteraria o esquema do bancode dados.
Tal comando SQL deve ser iniciado com
	
	
	
	CREATE PRODUTO : TABLE
	
	
	ALTER TABLE PRODUTO
	
	
	CREATE TABLE PRODUTO
	
	
	CREATE PRODUTO AS TABLE
	
	
	ALTER SCHEMA ADD TABLE PRODUTO
	
	
		1.
		Considere a seguinte representação de uma tabela de um banco de dados relacional: Produto (Cod, Descricao, QtdeEstoque, Categoria) O comando SQL para se obter a soma dos valores do atributo QtdeEstoque, agrupada por Categoria, apenas para as Categorias com QtdeEstoque total superior a 20 unidades, é:
	
	
	
	SELECT Categoria, COUNT (QtdeEstoque) FROM Produto WHERE Qtde > 20 GROUP BY Categoria
	
	
	SELECT GROUP (Categoria), COUNT (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	SELECT Categoria, SUM (QtdeEstoque) FROM Produto GROUP BY Categoria HAVING SUM (QtdeEstoque) > 20
	
	
	SELECT Categoria, Qtde FROM Produto WHERE Qtde > 20 GROUP BY Categoria
	
	
	SELECT GROUP (Categoria), SUM (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	
	 
		
	
		2.
		UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula:  
	
	
	
	SUM
	
	
	ORDER
	
	
	ORDER BY
	
	
	GROUP BY
	
	
	JOIN
	
	
	
	 
		
	
		3.
		Considere que existe uma tabela empregados com os seguintes dados:
TABELA EMPREGADOS
	MATRICULA
	NOME
	DATA_NASCIMENTO
	122233
	MARIA DA SILVA
	01/01/1982
	222545
	JOSE DOS SANTOS
	10/10/1990
	142533
	ANTONIO ALVES
	20/05/1980
	213211
	JERONIMO SOUZA
	15/06/2015
O comando SQL que traz todos os dados da tabela ordenados pela ordem alfabetica dos nomes dos empregados é:
	
	
	
	SELECT * FROM EMPREGADO ORDER BY NOME;
	
	
	SELECT (MATRICULA, NOME) FROM EMPREGADO E ORDER BY Nome;
	
	
	SELECT NOME AND EMPREGADO FROM EMPREGADO ORDER BY NOME ASC;
	
	
	SELECT * FROM EMPREGADO ORDERED BY NOME ASCENDING;
	
	
	SELECT *.* FROMEMPREGADO ORDERED BY NOME;
	
	
	
	 
		
	
		4.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
 Seguem algumas tabelas do Esquema:
 
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)
 
Deseja-se consultar a quantidade de tubarões do sexo feminino que foram capturados entre os anos de 2002 e 2013. Assinale a opção abaixo que realiza esta consulta:
 
	
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013;
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 2002 AND 2013;
	
	
	SELECT COUNT (TUBARÃO) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013;
	
	
	SELECT COUNT (tubarão) QTD FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 2002 AND 2013;
	
	
	SELECT COUNT (*) QTD FROM TUBARÃO, CAPTURA WHERE SEXO = F AND DATA BETWEEN 01/01/2002 AND 31/12/2013;
	
	
	
	 
		
	
		5.
		O esquema de banco de dados apresentado abaixo faz parte de um banco de dados criado a partir de um conjunto de dados públicos de captura de tubarões entre os anos de 2001 e 2013 na costa da Austrália. Os dados podem ser baixados no endereço: https://data.qld.gov.au/dataset/shark-control-program-shark-catch-statistics/resource/5c6be990-3938-4125-8cca-dac0cd734263
Características do esquema: Chave primária sublinhada e chave estrangeira em itálico.
Seguem algumas tabelas do Esquema:
 
Ordem (IDOrdem, NomeOrdem)
Espécie (IDEspécie, IDOrdem. Nome_Científico, TamMaior, TamMenor, TamMédio)
Esp_País (IDEspécie, CodPaís)
País (CodPaís, NomePaís)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
 
Assinale qual das alternativas abaixo representa uma consulta que retorna a quantidade de espécies de tubarões encontradas no Brasil cuja coluna é nomeada de QTD:
	
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = Brasil;
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE E.IDESPECIE = P.IDESPÉCIE AND NOMEPAÍS = Brasil;
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS P,PAÍS P WHERE NOMEPAÍS = Brasil;
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, PAÍS P WHERE NOMEPAÍS = "Brasil";
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS EP, PAÍS P WHERE E.IDESPECIE = EP.IDESPÉCIE AND EP.CODPAÍS = P.CODPAÍS AND NOMEPAÍS = "Brasil";
	
	
	
	 
		
	
		6.
		Qual a sintaxe SQL-SELECT errada?
	
	
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 IN (1,2,3);
	
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE (%X%) ORDER BY 3;
	
	
	SELECT X.COLUNA1, AVG(Y.COLUNA2) FROM TABELA1 X INNER JOIN TABELA2 Y ON X.COLUNA3=Y.COLUNA4 GROUP BY X.COLUNA1;
	
	
	SELECT COLUNA1, COLUNA2, COLUNA3 FROM TABELA1 ORDER BY 1 ASC, 2 DESC, 3 ASC;
	
	
	SELECT COUNT(*) FROM TABELA1;
	
	
	
	 
		
	
		7.
		A cláusula having, quando usada, estabelece uma condição sobre uma agregação obtida de:
	
	
	
	sum em uma expressão create.
	
	
	group by em uma expressão select.
	
	
	Reorganiza-se automaticamente com pequenas mudanças locais.
	
	
	order by em uma expressão select.
	
	
	group by em uma cláusula order by.

Mais conteúdos dessa disciplina