Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS

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 43 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 43 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 43 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.
		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.
	
	
	
	 
		
	
		2.
		Uma linguagem de consulta procedural, onde o objetivo fundamental é permitir a escrita de expressões relacionais é denominada de álgebra relacional. Com suas operações fundamentais é possível exprimir qualquer consulta nesta linguagem. Sendo assim, para apresentar os dados de acordo com a tabela abaixo, marque a alternativa correta que descreve a álgebra a ser utilizada.
	Produto.Nome
	Produto.Qualidade
	Estoque.Qtde
	Laranja
	1
	100
	Laranja
	2
	150
	Uva
	1
	200
	Uva
	2
	130
	Trigo
	2
	240
	Pêssego
	1
	260
	Pêssego
	2
	190
	
	
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque))
	
	
	σProduto.Cod_Prod = Estoque.Cod_Prod(Produto X Estoque)
	
	
	πNome, Qualidade, Qtde
	
	
	σProduto.Cod_Prod = Estoque.Cod_Prod(πNome, Qualidade, Qtde)
	
	
	πNome, Qualidade, Qtde(σProduto.Cod_Prod = Estoque.Cod_Prod)
	
	
	
	 
		
	
		3.
		
	
	
	
	I, III e IV.
	
	
	I, II e IV.
	
	
	II, III e IV.
	
	
	I e III.
	
	
	I e II.
	
	
	
	 
		
	
		4.
		A operação da álgebra relacional que recupera linhas em uma tabela é denominada:
	
	
	
	Seleção
	
	
	Projeção
	
	
	Diferença
	
	
	Junção
	
	
	Produto cartesiano
	
	
	
	 
		
	
		5.
		Á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, é:
	
	
	
	1, 3, 4, 2
	
	
	2, 1, 4, 3
	
	
	2, 1, 3, 4
	
	
	1, 2, 3, 4
	
	
	1, 2, 4, 3
	
	
	
	 
		
	
		6.
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	 
		
	
		7.
		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.
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	 
		
	
		8.
		Em relação a álgebra relacional, o operador de _____________ permite combinar seleções e um produto cartesiano em uma só operação.
	
	
	
	União
	
	
	Junção
	
	
	Diferença
	
	
	Interseção
	
	
	Projeção
	
	
 
		
	
		1.
		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"
	
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	
	
	update paciente where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	
	alter paciente set idade=25
	
	
	
	 
		
	
		2.
		Em um banco de dados, que comando SQL é utilizado para eliminar uma tabela?
	
	
	
	DELETE
	
	
	UPDATE
	
	
	ALTER
	
	
	DROP
	
	
	INSERT
	
	
	
	 
		
	
		3.
		São comandos da categoria de Manipulação de Dados (DML):
	
	
	
	SELECT
	
	
	CREATE / ALTER / DROP
	
	
	COMMIT / ROLLBACK
	
	
	INSERT / UPDATE / DELETE
	
	
	GRANT / REVOKE
	
	
	
	 
		
	
		4.
		Qual dos comandos SQL abaixo pode ser utilizado para incluir na definição da tabela aluno o atributo CPF com 11 caracteres?
	
	
	
	add into aluno cpf char(11);
	
	
	update table aluno insert cpf char(11);
	
	
	alter table aluno add cpf char(11);
	
	
	insert into aluno cpf char(11);
	
	
	alter table aluno insert cpf char(11);
	
	
	
	 
		
	
		5.
		(PRODEST-ES/2014) Sobre a chave primária de uma tabela de um banco de dados relacional, é correto afirmar que:
	
	
	
	não pode conter atributos do tipo textual.
	
	
	pode ser composta por mais de um atributo.
	
	
	pode conter, no máximo, três atributos.
	
	
	não há chave primária em tabelas com até 100 registros.
	
	
	não pode conter atributos do tipo numérico.
	
	
	
	 
		
	
		6.
		Marque a opção onde certamente ocorrerá um erro de execução:
	
	
	
	insert into disciplina(codigo, nome) values (1, Implementação de BD);
	
	
	insert into disciplina values (1, Implementação de BD), (2, Modelagem de Dados);
	
	
	insert from disciplina values (1, Implementação de BD);
	
	
	insert into disciplina(codigo, nome) values (1, Implementação de BD);
	
	
	insert into disciplina(codigo, nome) values (100+1, Implementação de BD);
	
	
	
	 
		
	
		7.
		Assinale a opção que possui o comando CREATE TABLE que cria corretamente a tabela "Alunos", segundo o seguinte esquema de banco de dados: Alunos(matricula, nome, endereco, cod_curso) Cursos(codigo, nome) Admitindo que os campos "matricula" e "codigo" são chaves primárias de suas tabelas e que o campo "cod_curso" é chave estrangeira da tabela "Cursos" na tabela "Alunos".
	
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (matricula), constraint fk_alunos_cursos foreign key (codigo) references Cursos(cod_curso) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	create table Alunos ( matricula int not null, nome varchar(50) not null, endereco varchar(255) null, cod_curso int not null, constraint pk_alunos primary key (nome), constraint fk_alunos_cursos foreign key (cod_curso) references Cursos(codigo) )
	
	
	
	 
		
	
		8.
		
	
	
	
	UPDATE Anuncio SET ValorAnunciado TO ValorAnunciado*0.8 WHERE CodAnuncio = 9
	
	
	UPDATE Anuncio INSERT ValorAnunciado = 108 WHERE CodAnuncio = 9
	
	
	UPDATE Anuncio SET ValorAnunciado = ValorAnunciado*0.8 WHERE CodAnuncio = 9
	
	
	UPDATE Anuncio INSERT ValorAnunciado TO 108 WHERE CodAnuncio = 9
	
	
	UPDATE Anuncio SET ValorAnunciado = ValorAnunciado*80% WHERE CodAnuncio = 9
	
 
		
	
		1.
		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)
Local (IDLocal, CodArea, NomeLocal)
Area (CodArea, NomeArea)---
 
Sabendo-se que um metro possui 39,3700787 polegadas, assinale a alternativa correto abaixo que consulta a data da captura, a temperatura da água e o comprimento do tubarão convertido em polegadas com o título Polegadas:
	
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C;
	
	
	SELECT DATA, TEMPAGUA, (COMPRIMENTO * 39,3700787) Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, "COMPRIMENTO * 39,3700787" Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39.3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	SELECT DATA, TEMPAGUA, COMPRIMENTO * 39,3700787 Polegadas FROM TUBARÃO T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO;
	
	
	
	 
		
	
		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:
	
	
	
	SINGLE
	
	
	ALL
	
	
	DISTINCT
	
	
	LIKE
	
	
	IN
	
	
	
	 
		
	
		3.
		Considere a consulta a seguinte:
Marque a alternativa que representa o script equivalente em SQL:
	
	
	
	SELECT * FROM aluno WHERE nome, matricula = 0364;
	
	
	SELECT matricula = 0364 FROM aluno WHERE nome; 
	
	
	SELECT aluno WHERE matricula = 0364;
	
	
	SELECT nome FROM aluno WHERE matricula = 0364;
	
	
	SELECT aluno FROM nome WHERE matricula = 0364;
	
	
	
	 
		
	
		4.
		De acordo com o modelo de dados definido pelas tabelas a seguir, indique a instrução SQL adequada para:
 
Apresentar apenas o nome completo do Empregado que atende ao Cliente ¿Ponto Quente¿.
	
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente';
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO C, CLIENTE E WHERE C.VENDEDOR = E.ID AND C.NOME=' Ponto Quente';
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE E.VENDEDOR = C.ID AND C.NOME=' Ponto Quente';
	
	
	SELECT PRIM_NOME || || ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.VENDEDOR = E.ID AND C.NOME= 'Ponto Quente';
	
	
	SELECT PRIM_NOME, ULT_NOME FROM EMPREGADO E, CLIENTE C WHERE C.NOME='Ponto Quente';
	
	
	
	 
		
	
		5.
		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 * OVER PACIENTE ORDER BY NOME_PACIENTE;
	
	
	SELECT * OVER PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ASC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE DESC NOME_PACIENTE;
	
	
	SELECT * FROM PACIENTE ORDER BY NOME_PACIENTE;
	
	
	
	 
		
	
		6.
		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" é:
	
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE =  VW AND FABRICANTE = FIAT;
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IS (VW, FIAT);
	
	
	Nenhuma das resposta acima.
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE BETWEEN  VW AND FIAT;
	
	
	SELECT PLACA, MODELO, COR FROM AUTOMOVEL WHERE FABRICANTE IN (VW, FIAT);
	
	
	
	 
		
	
		7.
		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 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;
	
	
	SELECT nome FROM func WHERE nome LIKE P%;
	
	
	
	 
		
	
		8.
		 
	
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A;
	
	
	SELECT DISTINCT NOMEP "Nome do Professor" FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
	
	SELECT NOMEP "Nome do Professor" 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;
	
	
	SELECT NOMEP FROM PROFESSOR P , TCC T, ALUNO A WHERE P.MATP = A.MATP AND A.MATA = T.MATA;
	
 
		
	
		1.
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador AND faz a checagem de valores zerados
	
	
	A cláusula WHERE restringe o número de linhas no resultado da consulta
	
	
	A cláusula ORDER BY ordena, por padrão, os valores decrescentemente
	
	
	O operador LIKE é usado para operações de booleanos
	
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	
	
	 
		
	
		2.
		Observe a tabela empregado:
Qual a quantidade de registros retornados ao efetuarmos a consulta abaixo:
	
	
	
	4
	
	
	3
	
	
	0
	
	
	1
	
	
	2
	
	
	
	 
		
	
		3.
		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 comparação (=,>,<)
	
	
	Operador de Intervalos (between)
	
	
	Operador de indisponibilidade (maybe)
	
	
	Operador de Listas(in)
	
	
	Operador de Caracteres semelhantes (like)
	
	
	
	 
		
	
		4.
		Considere a relação:
PRODUTO (codigo, unidade, descrição, valor_unitário)
A consulta em SQL para reponder a questão "Liste o código dos produtos com valores unitários entre R$ 500,00 e R$ 1000,00" é:
 
	
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO IN [500, 1000];
	
	
	Nenhuma das consultas acima.
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO > 500;
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO LIKE 500 AND 1000;
	
	
	SELECT CODIGO FROM PRODUTO WHERE VALOR_UNITARIO BETWEEN 500 AND 1000;
	
	
	
	 
		
	
		5.
		
	
	
	
	DELETE ALL FROM ALUGUEL WHERE CODIMOVEL IS NULL
	
	
	DELETE FROM ALUGUEL WHERE CODIMOVEL IS NOT NULL
	
	
	DELETE FROM ALUGUEL WHERE CODANUNCIO IS NOT NULL
	
	
	DELETE ALL FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	DELETE * FROM ALUGUEL WHERE CODANUNCIO IS NULL
	
	
	
	 
		
	
		6.
		O comando SQL para excluir os registros da tabela Aluno, cujo campo nome comece com a letra M, é:
	
	
	
	DELETE FROM Aluno WHERE nome=M.
	
	
	DELETE FROM Aluno WHERE nome SUCH %M.
	
	
	DELETE FROM Aluno
	
	
	DELETE FROM Aluno WHERE nome LIKE M%.
	
	
	DELETE FROM Aluno WHERE nome LIKE G%.
	
	
	
	 
		
	
		7.
		O comando SELECT  FROM  WHERE  corresponde as seguintes operações da álgebra relacional:
	
	
	
	Seleção e Junção
	
	
	Seleção  e Projeção
	
	
	Projeção e União
	
	
	Seleção e Diferença 
	
	
	União e Interseção
	
	
	
	 
		
	
		8.
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O predicado LIKE é um predicado com operações de boleanos.
	
	
	A cláusula ORDER BY possibilita ordenar a filtragem feita por GROUP BY.
	
	
	Nenhuma das respostas anteriores.
	
	
	O Predicado BETWEEN retorna resultados entre dois valores fornecidos pelo usuário.
	
	
	O predicado IS NULL faz a checagem de valores zerados.
	
 
		
	
		1.
		Considere a relação:
FUNCIONARIO (matrícula, cargo, salario, admissao)
A consulta SQL que mostra média dos salários dos funcionários é:
	
	
	
	SELECT SUM(SALARIO) FROM FUNCIONARIO;
	
	
	Nenhuma das respostas acima.
	
	
	SELECT SALARIO FROM FUNCIONARIO AVG;
	
	
	SELECT MEDIA(SALARIO) FROM FUNCIONARIO;SELECT AVG(SALARIO) FROM FUNCIONARIO;
	
	
	
	 
		
	
		2.
		Para o comando apresentado a seguir, indique a alternativa que apresenta o resultado obtido com a sua execução:
SELECT ID, DESCRICAO FROM Turma ORDER BY DESCRICAO desc;
	
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma ordenando os registros por DESCRICAO em ordem decrescente
	
	
	Seleciona todos os campos da tabela Turma ordenando os registros por DESCRICAO em ordem decrescente
	
	
	Seleciona os campos ID e DESCRICAO da tabela Turma
	
	
	Seleciona todos os registros da tabela Turma
	
	
	Seleciona todos os campos e os registros da tabela turma
	
	
	
	 
		
	
		3.
		Considere a seguinte tabela de Empregados:
Empregado (CodEmpregado, Nome, Salario)
Escolha o comado SQL que liste o nome de todos os empregados sem repetição e em ordem decrescente:
	
	
	
	SELECT Nome FROM Empregado ORDER BY Nome
	
	
	SELECT Nome FROM Empregado ORDER BY DISTINCT Nome
	
	
	SELECT DISTINCT Nome FROM Empregado GROUP BY Nome
	
	
	SELECT DISTINCT Nome FROM Empregado ORDER BY Nome DESC
	
	
	SELECT ORDER BY Nome FROM Empregado WHERE DISTINCT Nome
	
	
	
	 
		
	
		4.
		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:
	
	
	
	NULL
	
	
	0
	
	
	5000
	
	
	2
	
	
	1
	
	
	
	 
		
	
		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:
 
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, 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);
	
	
	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);
	
	
	
	 
		
	
		6.
		
	
	
	
	II e III.
	
	
	I e III.
	
	
	I e II.
	
	
	I, II e III.
	
	
	Somente I.
	
	
	
	 
		
	
		7.
		Quando usar o Group By
	
	
	
	Quando usar a Função Where
	
	
	Sempre apos o comando Where
	
	
	Quando usar funções de Coluna
	
	
	Quando usar o Order By em conjunto com a função SUM
	
	
	Quando Usar o Order By
	
	
	
	 
		
	
		8.
		Em uma instrução SQL, para manipular dados retornados de funções agregadoras, utiliza-se a cláusula
	
	
	
	SHOW
	
	
	HAVING
	
	
	ORDER BY
	
	
	GROUP IN
	
	
	UNIQUE OUT
	
 
		
	
		1.
		Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros?
	
	
	
	220 registros
	
	
	320 registros
	
	
	160 registros
	
	
	20 registros
	
	
	22 registros
	
	
	
	 
		
	
		2.
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador LIKE é usado para operações com booleanos
	
	
	DESC é dispensável à cláusula ORDER BY quando se deseja ordenar decrescentemente
	
	
	O operador AND faz a checagem de valores zerados
	
	
	O operador IN pode ser usado para comparar valores na cláusula WHERE
	
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	
	
	 
		
	
		3.
		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:
	
	
	
	soma total.
	
	
	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 consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR.
	
	
	A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ).
	
	
	A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY.
	
	
	
	 
		
	
		4.
		Na sintaxe ANSI da junção Interior, na sua forma padrão é:
	
	
	
	select [colunas] from tabela1 LEFT JOIN tabela2 ON ;
	
	
	select [colunas] from tabela1 INNER JOIN tabela2 ON ;
	
	
	select [colunas] from tabela1 RIGHT JOIN tabela2 ON ;
	
	
	select * from tabela1 LEFT JOIN tabela2;
	
	
	select * from tabela1 CROSS JOIN tabela2;
	
	
	
	 
		
	
		5.
		
	
	
	
	cinco
	
	
	quatro
	
	
	sete
	
	
	três
	
	
	seis
	
	
	
	 
		
	
		6.
		O comando select permite gerar produto cartesiano
porque
os bancos relacionais utilizam álgebra relacional.
	
	
	
	O select permite produto cartesiano mas por outra ração que não é a algebra relacional.
	
	
	Ambas sentenças estão erradas.
	
	
	Ambas sentenças estão certas.
	
	
	A primeira sentença está errada porém a segunda está certa.
	
	
	A primeira sentença está certa porém a segunda está errada.
	
	
	
	 
		
	
		7.
		
	
	
	
	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
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi RIGHTJOIN 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
	
	
	
	 
		
	
		8.
		
	
	
	
	oito linhas.
	
	
	seis linhas.
	
	
	quinze linhas.
	
	
	cinco linhas.
	
	
	dez linhas.
	
 
		
	
		1.
		Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros?
	
	
	
	220 registros
	
	
	320 registros
	
	
	160 registros
	
	
	20 registros
	
	
	22 registros
	
	
	
	 
		
	
		2.
		Acerca do conjunto de operações para manipulação de dados, marque a alternativa correta:
	
	
	
	O operador LIKE é usado para operações com booleanos
	
	
	DESC é dispensável à cláusula ORDER BY quando se deseja ordenar decrescentemente
	
	
	O operador AND faz a checagem de valores zerados
	
	
	O operador IN pode ser usado para comparar valores na cláusula WHERE
	
	
	O operador ALIAS é usado para renomear definitivamente colunas e tabelas
	
	
	
	 
		
	
		3.
		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:soma total.
	
	
	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 consulta irá retornar o mesmo número de linhas da tabela TB_PROFESSOR.
	
	
	A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ).
	
	
	A sintaxe do comando está incorreta, pois deveria apresentar a cláusula GROUP BY.
	
	
	
	 
		
	
		4.
		Na sintaxe ANSI da junção Interior, na sua forma padrão é:
	
	
	
	select [colunas] from tabela1 LEFT JOIN tabela2 ON ;
	
	
	select [colunas] from tabela1 INNER JOIN tabela2 ON ;
	
	
	select [colunas] from tabela1 RIGHT JOIN tabela2 ON ;
	
	
	select * from tabela1 LEFT JOIN tabela2;
	
	
	select * from tabela1 CROSS JOIN tabela2;
	
	
	
	 
		
	
		5.
		
	
	
	
	cinco
	
	
	quatro
	
	
	sete
	
	
	três
	
	
	seis
	
	
	
	 
		
	
		6.
		O comando select permite gerar produto cartesiano
porque
os bancos relacionais utilizam álgebra relacional.
	
	
	
	O select permite produto cartesiano mas por outra ração que não é a algebra relacional.
	
	
	Ambas sentenças estão erradas.
	
	
	Ambas sentenças estão certas.
	
	
	A primeira sentença está errada porém a segunda está certa.
	
	
	A primeira sentença está certa porém a segunda está errada.
	
	
	
	 
		
	
		7.
		
	
	
	
	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
	
	
	SELECT fi.nome filial, count(*) FROM Filial fi RIGHTJOIN 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
	
	
	
	 
		
	
		8.
		
	
	
	
	oito linhas.
	
	
	seis linhas.
	
	
	quinze linhas.
	
	
	cinco linhas.
	
	
	dez linhas.
	
 
		
	
		1.
		
	
	
	
	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;
	
	
	SELECT NOMETIPOIMOVEL, TAMANHO, NUMQUARTOS , NUMBANHEIROS "NUMERO QUARTOS E BANHEIROS" FROM IMOVEL I, TIPOIMOVEL T WHERE I.CODTIPOIMOVEL = T.CODTIPOIMOVEL;
	
	
	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;
	
	
	
	 
		
	
		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;
	
	
	6.000 linhas.
	
	
	600 linhas;
	
	
	10 linhas;
	
	
	30 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, FROM Fornecedor AS F WHERE E.UF = F.UF
	
	
	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)
	
	
	
	 
		
	
		4.
		A junção irrestrita também é conhecida como:
	
	
	
	Junção Contínua
	
	
	Junção Exterior
	
	
	Junção Interior
	
	
	Autojunção
	
	
	Junção Cruzada
	
	
	
	 
		
	
		5.
		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:
	
	
	
	(J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING Count(*) >= 1
	
	
	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
	
	
	SELECT UF, Count(*) FROM Cidade GROUP BY UF
	
	
	
	 
		
	
		6.
		
	
	
	
	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 PERIODO > (SELECT AVG(PERIODO) FROM ALUGUEL);
	
	
	SELECT PNOME || || SNOME CLIENTE, VALORDIARIA, PERIODO FROM CLIENTE NATURAL JOIN ALUGUEL WHERE VALORDIARIA > (SELECT AVG(VALORDIARIA) 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);
	
	
	
	 
		
	
		7.
		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 Comprimento, Sexo FROM Tubarão T, Espécie E, Nome N WHERE T.IDEspecie = N.IDEspécie AND NomePopular like %k;
	
	
	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 = 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%;
	
	
	
 
		
	
		1.
		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 números dos empregados e os nomes das pessoas com repetição.
	
	
	Retorna os nomes dos empregados e os números sem repetição.
	
	
	O script retorna dados de diferentes tabelas semrepetição.
	
	
	Retorna os números dos empregados e os nomes das pessoas sem repetição.
	
	
	
	 
		
	
		2.
		(FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de Dados)
Assinale a alternativa correta sobre fragmento de comando a seguir:
(select distinct nome_cliente
from contas)
intersect
(select distinct nome_cliente
from emprestimos)
	
	
	
	Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado.
	
	
	Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado.
	
	
	 Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no resultado.
	
	
	Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado.
	
	
	Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no resultado.
	
	
	
	 
		
	
		3.
		(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
     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
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 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))
	
	
	
	 
		
	
		4.
		(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA)
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é
	
	
	
	Um crosstab.
	
	
	Uma subconsulta.
	
	
	Uma visão.
	
	
	Um índice.
	
	
	Um join.
	
	
	
	 
		
	
		5.
		Qual dos tipos de sub-consulta que faz referência a uma coluna da tabela da consulta externa?
	
	
	
	Sub-Consulta Principal
	
	
	Sub-Consulta Multi-Linhas
	
	
	Sub-Consulta Correlata
	
	
	Sub-Consulta Multi-Valorada
	
	
	Sub-Consulta Simple
	
	
	
	 
		
	
		6.
		Qual comando abaixo é o mais adequado para consultar os dados da última linha de uma tabela
	
	
	
	SELECT * FROM funcionarios WHERE id = LAST(id);
	
	
	SELECT MAX(id) FROM funcionarios WHERE id = (SELECT MAX(id) FROM funcionarios);
	
	
	SELECT * FROM funcionarios WHERE id = (SELECT MAX(id) FROM funcionarios);
	
	
	SELECT * FROM funcionarios WHERE id = (SELECT LAST(id) FROM funcionarios);
	
	
	SELECT MAX(id) FROM funcionarios;
	
	
	
	 
		
	
		7.
		De acordo com a tabela de banco de dados relacional abaixo: Carro(placacarro(PK),tipo,modelo,ano,chassis,km,valor,cor,filial_idfilial(FK)) -Construa uma consulta em SQL para retornar "o ano dos carros que são mais velhos que a média dos anos de todos os carros".
	
	
	
	SELECT ano FROM carro WHERE ano > AVG(ano)
	
	
	SELECT ano, AVG(ano) FROM carro
	
	
	SELECT ano FROM carro WHERE ano > (SELECT AVG(*) FROM carro)
	
	
	SELECT ano FROM carro WHERE ano = (SELECT AVG(ano) FROM carro)
	
	
	SELECT ano FROM carro WHERE ano > (SELECT AVG(ano) FROM carro)
	
	
	
	 
		
	
		8.
		
Considerando-se as tabelas e o comando SQL mostrados acima, é
correto concluir que o número de registros removidos da tabela Y
pela execução desse comando é:
 
 
	
	
	
	2
	
	
	5
	
	
	3
	
	
	4
	
	
	1
	
 
		
	
		1.
		O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
	
	
	
	Interseção
	
	
	Seleção
	
	
	Junção
	
	
	Projeção
	
	
	União
	
	
	
	 
		
	
		2.
		Qual das alternativas a seguir apresenta a sintaxe correta do comando SELECT aplicando as cláusulas GROUP BY e HAVING?
	
	
	
	SELECT FROM WHERE GROUP BY HAVING
	
	
	SELECT FROM HAVING GROUP BY WHERE
	
	
	SELECT HAVING FROM WHERE GROUP BY
	
	
	SELECT HAVING FROM WHERE GROUP BY
	
	
	SELECT FROM GROUP BY WHERE HAVING
	
	
	
	 
		
	
		3.
		Sobre a cláusula WHERE do comando SELECT, é correto afirmar que:
	
	
	
	Nunca pode ser utilizado com uma junção
	
	
	É utilizado em todos os comandos SELECT
	
	
	Especifica condição de ordenação
	
	
	Filtra as colunas a serem exibidas no resultado
	
	
	Filtra as linhas a serem exibidas no resultado
	
	
	
	 
		
	
		4.
		
	
	
	
	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 DESC
	
	
	SELECT * FROM Imovel WHERE NumVagasGaragem IN(1,2,4) ORDER BY Tamanho
	
	
	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
	
	
	
	 
		
	
		5.
		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 banco de dados.
Tal comando SQL deve ser iniciado com
	
	
	
	CREATE PRODUTO AS TABLE
	
	
	CREATE PRODUTO : TABLE
	
	
	ALTER SCHEMA ADD TABLE PRODUTO
	
	
	CREATE TABLE PRODUTO
	
	
	ALTER TABLE PRODUTO
	
	
	
	 
		
	
		6.
		Considere a seguinte consulta SQL:
SELECT nome,  count(*)
FROM aluno
GROUP BY nome
Esta consulta tem como resultado.
	
	
	
	o atributo nome e o número de registros existentes para cada nome, na tabela nome.
	
	
	todos os atributos da tabela nome, além do atributo especial Count.
	
	
	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 a soma do conteúdo do atributo nome, da tabela aluno.
	
	
	
	 
		
	
		7.
		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 SUM (SALARIO) FROM FUNCIONARIO WHERE SALARIO;
	
	
	SELECT * FROM FUNCIONARIO WHERE SUM (SALARIO);
	
	
	SELECT SUM (SALARIO) FROM FUNCIONARIO;
	
 
		
	
		1.
		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.
	
	
	group by em uma cláusula order by.
	
	
	Reorganiza-se automaticamente com pequenas mudançaslocais.
	
	
	order by em uma expressão select.
	
	
	
	 
		
	
		2.
		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 GROUP (Categoria), SUM (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	SELECT GROUP (Categoria), COUNT (QtdeEstoque) FROM Produto WHERE QtdeEstoque > 20
	
	
	SELECT Categoria, Qtde FROM Produto WHERE Qtde > 20 GROUP BY Categoria
	
	
	SELECT Categoria, SUM (QtdeEstoque) FROM Produto GROUP BY Categoria HAVING SUM (QtdeEstoque) > 20
	
	
	SELECT Categoria, COUNT (QtdeEstoque) FROM Produto WHERE Qtde > 20 GROUP BY Categoria
	
	
	
	 
		
	
		3.
		UM recurso do comando SELECT é a possibilidade de agruparmos nossos dados. Para isso usamos a cláusula:  
	
	
	
	JOIN
	
	
	SUM
	
	
	GROUP BY
	
	
	ORDER
	
	
	ORDER BY
	
	
	
	 
		
	
		4.
		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 ORDERED BY NOME ASCENDING;
	
	
	SELECT * FROM EMPREGADO ORDER BY NOME;
	
	
	SELECT NOME AND EMPREGADO FROM EMPREGADO ORDER BY NOME ASC;
	
	
	SELECT *.* FROMEMPREGADO ORDERED BY NOME;
	
	
	SELECT (MATRICULA, NOME) FROM EMPREGADO E ORDER BY Nome;
	
	
	
	 
		
	
		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:
 
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, CAPTURA WHERE 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 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 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 T, CAPTURA C WHERE C.IDTUBARÃO = T.IDTUBARÃO AND SEXO = F AND DATA BETWEEN 2002 AND 2013;
	
	
	
	 
		
	
		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:
 
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 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 NOMEPAÍS = "Brasil";
	
	
	SELECT COUNT(*) QTD FROM ESPÉCIE E, ESP_PAÍS P,PAÍS P WHERE NOMEPAÍS = Brasil;
	
	
	
	 
		
	
		7.
		Qual a sintaxe SQL-SELECT errada?
	
	
	
	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 FROM TABELA1 WHERE COLUNA3 IN (1,2,3);
	
	
	SELECT COLUNA1, COLUNA2, COLUNA3 FROM TABELA1 ORDER BY 1 ASC, 2 DESC, 3 ASC;
	
	
	SELECT COUNT(*) FROM TABELA1;
	
	
	SELECT COLUNA1, COLUNA2 FROM TABELA1 WHERE COLUNA3 LIKE (%X%) ORDER BY 3;
	
	
		1
          Questão
	
	
	A linguagem de banco de dados que é aceita em quase todos os Sistemas de Gerenciamento de Banco de Dados (SGBDs) é a SQL. Dessa forma, utilizando esta linguagem para conseguir filtrar valores resultantes de expressões agregadas, deve-se adicionar ao comando SQL a cláusula:
		
	
	AVG
	
	SUM
	
	SELECT
	 
	HAVING
	
	WHERE
	Respondido em 07/05/2020 11:15:58
	
Explicação:
Having:  A cláusula having só é usada quando se deseja especificar um critério de pesquisa para um grupo ou uma agregação. HAVING pode ser usado somente com a instrução SELECT. HAVING é usado normalmente em uma cláusula GROUP BY.
SUM: A função sum(x) retorna a soma da coluna x.
Where: A cláusula Where estabelece uma condição que a linha deverá obedecer para que faça parte do conjunto resposta da consulta. No caso apenas retornam as linhas cujo deste da condição de como resposta verdadeiro.
Select:  Comando utilizado para recuperação dos dados de uma ou mais tabelas.
AVG: A função avg(x) retorna o valor médio da coluna x.
	
		
	Gabarito
Comentado
	
	
	 
		2
          Questão
	
	
	Dada as tabelas: Pedido(Nr_pedido, Id_cliente, valor_total, data) Cliente(Id_cliente, nome, endereço, bairro, email, telefone), assinale a instrução em SQL que lista os clientes que possuem email do gmail.
		
	
	select nome from cliente where email = ¿*@gmail.com
	 
	select nome from cliente where email like *@gmail.com
	
	select nome from cliente where email like @gmail.com*
	
	select nome from cliente where email in *@gmail.com
	
	select nome from cliente where email like *gmail*
	Respondido em 07/05/2020 11:16:53
	
	
	 
		3
          Questão
	
	
	Em relação as funções de grupo da linguagem SQL, marque a opção correta:
		
	
	COUNT - retornar o maior valor dentre um grupo de valores.
	 
	MIN - retornar o menor valor dentre um grupo de valores.
	
	SUM - contar o número de linhas.
	
	MAX - calcular a média aritmética.
	
	AVG - somar um grupo de valores.
	Respondido em 07/05/2020 11:17:02
	
Explicação:
AVG(x) - Retorna o valor médio da coluna x.
SUM(x) - Retorna a soma da coluna x.
MAX(x) - Retorna o valor máximo da coluna x.
MIN(x) - Retorna o valor mínimo da coluna x.
COUNT(x) - Retorna o número de valores não nulos da coluna x.
	
	
	 
		4
          Questão
	
	
	
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 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/2013', '22/11/2014');":
		
	
	SELECT * FROM TCC WHERE DTDEFESA => '21/11/2013' AND <= '22/11/2014';
	 
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN '21/11/2013' AND'22/11/2014';
	
	SELECT * FROM TCC WHERE DTDEFESA > '21/11/2013' AND < '22/11/2014';
	 
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN ('21/11/2013'; '22/11/2014');
	
	SELECT * FROM TCC WHERE DTDEFESA = '21/11/2013' AND '22/11/2014';
	Respondido em 07/05/2020 11:19:19
	
	
	 
		5
          Questão
	
	
	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,telefone,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,dataIni,dataFim,idfuncionario) O nome das filias e a quantidade de funcionários que cada filial possui, mostre somente filias com mais de 10 funcionários?
		
	
	SELECT fi.nome Filial, count(*) Quantidade FROM filial fi, funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10;
	
	SELECT fi.nome Filial, count(*) Quantidade FROM filial fi LEFT JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10;
	 
	SELECT fi.nome Filial, count(*) Quantidade FROM filial fi INNER JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10;
	
	SELECT fi.nome Filial, count(*) Quantidade FROM filial fi INNER JOIN funcionário fu ON fi.idfilial=fu.idfilial;
	
	SELECT fi.nome Filial, count(*) Quantidade FROM filial fi RIGHT JOIN funcionário fu ON fi.idfilial=fu.idfilial GROUP BY Filial HAVING count(*) > 10;
	Respondido em 07/05/2020 11:21:15
	
	
	 
		6
          Questão
	
	
	Considere a tabela definida pelo comando SQL abaixo.
Create table func (
nome varchar(50) not null,
salario money not null,
cod_depto int null);
Considere a consulta SQL abaixo:
Select nome, salario
from func
where salario > 900
and not cod_depto is null
order by salario
O requisito abaixo que não é atendido por esta consulta é:
		
	
	só considerar os registros que apresentem o atributo COD_DEPTO não nulo;
	
	listar a coluna SALARIO da tabela FUNC;
	
	listar a coluna NOME da tabela FUNC;
	 
	apresentar o resultado em ordem alfabética.
	
	só considerar os registros que apresentem o atributo SALARIO maior que 900;
	Respondido em 07/05/2020 11:22:06
	
		
	Gabarito
Comentado
	
	
	 
		7
          Questão
	
	
	De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome do empregado, o nome do seu departamento, daquele que trabalha em departamento que possua mais do que cinco empregados e cujo salário seja superior a média salarial do seu departamento, através da linguagem SQL. O banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é MATRICULA  e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT.
ESTRUTURA DAS TABELAS DO BANCO DE DADOS
TABELA EMP
Name                Null                   Type
----------------------------------------------
MATRICULA  NOT NULL      NUMBER(4)
NOME_EMP                            CHAR(10)
CARGO                                    CHAR (9)
GERENTE                                 NUMBER(4)
SALARIO                                 NUMBER(7,2)
COMISSAO                             NUMBER(7,2)
DEPTNO                                  NUMBER(2)
 
TABELA DEPT
Name                  Null                     Type
----------------------------------------------
DEPTNO           NOT NULL       NUMBER(2)
NOME_DEPT                              CHAR(14)
LOCALIZACAO                         CHAR(13)
		
	
	SELECT E.NOME_EMP, D.NOME_DEP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
GROUP BY DEPTNO
HAVING COUNT(*)> 5 AND E.SALARIO>(SELECT AVG(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
	
	SELECT E.NOME_EMP, D.NOME_DEP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)> 5) AND E.SALARIO>AVG(SALARIO);
	 
	SELECT E.NOME_EMP, D.NOME_DEP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)> 5) AND E.SALARIO>(SELECT AVG(SALARIO)
                                      FROM EMP
                                      WHERE  DEPTNO=E.DEPTNO);
	
	SELECT E.NOME_EMP, D.NOME_DEP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO
FROM EMP
GROUP BY DEPTNO
HAVING COUNT(*)> 5) AND E.SALARIO>(SELECT AVG(SALARIO)
                                                                          FROM EMP);
                                     
	
	SELECT E.NOME_EMP, D.NOME_DEP
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND COUNT(D.DEPTNO) > 5 AND E.SALARIO>
(SELECT AVG(SALARIO)
 FROM EMP
 WHERE  DEPTNO=E.DEPTNO);
	Respondido em 07/05/2020 11:23:04
	
		
	Gabarito
Comentado
	
	
	 
		8
          Questão
	
	
	Qual o comando SQL deve ser utilizado para definir o resultado da seguinte situação: "Ao final do mês é preciso apresentar o total de vendas de clientes por venda".
		
	
	HAVING
	
	WHERE
	
	FROM
	
	GROUP BY
	 
	ORDER BY
		1a
          Questão
	Acerto: 1,0  / 1,0
	
	A operação da álgebra relacional que recupera linhas em uma tabela é denominada:
		
	 
	Seleção
	
	Produto cartesiano
	
	Projeção
	
	Junção
	
	Diferença
	Respondido em 04/05/2021 23:13:41
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	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"?.
		
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	
	insert into paciente (idade) values (25) where nomePaciente="Fulano de tal"
	 
	update paciente set idade=25 where nomePaciente="Fulano de tal"
	
	alter paciente set idade=25
	
	update paciente where nomePaciente="Fulano de tal"
	Respondido em 04/05/2021 23:15:38
	
		3a
          Questão
	Acerto: 1,0  / 1,0
	
	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:
		
	 
	DISTINCT
	
	SINGLE
	
	LIKE
	
	IN
	
	ALL
	Respondido em 04/05/2021 23:20:00
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	
Sabendo-se que existem dados de TCC cadastrados com datas de defesa que variam de 20/11/2012 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/2013, 22/11/2014);":
		
	
	SELECT * FROM TCC WHERE DTDEFESA = 21/11/2013 AND 22/11/2014;
	 
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN 21/11/2013 AND 22/11/2014;
	
	SELECT * FROM TCC WHERE DTDEFESA => 21/11/2013 AND <= 22/11/2014;
	
	SELECT * FROM TCC WHERE DTDEFESA BETWEEN (21/11/2013; 22/11/2014);
	
	SELECT * FROM TCC WHERE DTDEFESA > 21/11/2013 AND < 22/11/2014;
	Respondido em 04/05/2021 23:25:52
	
		5a
          Questão
	Acerto: 1,0  / 1,0
	
	Considere a tabela a seguir:
Qual a função a ser utilizada em um script SQL quando se desejar obter o número de cidades cadastradas?
 
		
	
	sum(reg)
	
	avg(reg)
	
	max(reg)
	 
	count(cidade)
	
	count(*)
	Respondido em 04/05/2021 23:52:53
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	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:
		
	
	soma total.
	
	A junção INNER JOIN não pode ser utilizada com a função de agregação SUM( ).
	
	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.
	Respondido em 04/05/2021 23:33:51
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	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 Count(*) FROM Estado
	
	(J) SELECT E.NomeEstado, Count(*) FROM Cidade C, Estado E WHERE C.UF = E.UF HAVING Count(*) >= 1
	 
	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
	Respondido em 04/05/2021 23:35:05
	
		8a
          Questão
	Acerto: 1,0  / 1,0
	
	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_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 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 );
	
	SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf;
	
	SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf;
	Respondido em 05/05/2021 00:10:01
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
		
	
	Seleção
	
	Interseção
	 
	Projeção
	
	União
	
	Junção
	Respondido em 04/05/2021 23:45:52
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	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 ORDERED BY NOME ASCENDING;
	 
	SELECT * FROM EMPREGADO ORDER BY NOME;
	
	SELECT *.* FROMEMPREGADO ORDERED BY NOME;
	
	SELECT (MATRICULA, NOME) FROM EMPREGADO E ORDER BY Nome;
	
	SELECT NOME AND EMPREGADO FROM EMPREGADO ORDER BY NOME ASC;
		1a
          Questão
	Acerto: 1,0  / 1,0
	
	
		
	
	SELECT Imovel FROM Tamanho > 70 OR numQuartos > 1
	
	SELECT Tamanho > 70 AND numQuartos > 1 FROM Imovel
	
	SELECT Tamanho > 70 OR numQuartos > 1 FROM Imovel
	 
	SELECT * FROM Imovel WHERE Tamanho > 70 AND numQuartos >1
	
	SELECT * FROM Imovel WHERE Tamanho > 70 OR numQuartos >1
	Respondido em 27/05/2021 23:15:14
	
		2a
          Questão
	Acerto: 1,0  / 1,0
	
	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"
	
	update paciente where nomePaciente="Fulano de tal"
	
	alter paciente set idade=25
	 
	update paciente set idade=25 where nomePaciente="Fulano de tal"
	
	alter paciente set idade=25 where nomePaciente="Fulano de tal"
	Respondido em 27/05/2021 22:51:54
	
		3a
          Questão
	Acerto: 0,0  / 1,0
	
	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)
Nome (IDNome, IDEspécie, NomePopular)
Tubarão (IDTubarão, IDEspécie, Comprimento, Sexo)
Captura (NumCaptura, IDTubarão, IDLocal, Data, TempAgua)
 
Deseja-se exibir os nomes das ordens das Espécies de Tubarões cadastradas até o identificador de espécie de número 018103, sem que os nomes se repitam. Assinale a alternativa correta abaixo:
		
	
	SELECT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
	
	SELECT DISTINCT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDEspécie = E.IDEspécie AND E.IDEspécie <= 018013;
	
	SELECT DISTINCT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie < 018013;
	 
	SELECT nomeEspécie FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
	 
	SELECT DISTINCT nomeOrdem FROM Ordem O, Espécie E WHERE O.IDOrdem = E.IDordem AND E.IDEspécie <= 018013;
	Respondido em 27/05/2021 23:15:18
	
		4a
          Questão
	Acerto: 1,0  / 1,0
	
	Em uma instrução SQL, o caractere utilizado para representar qualquer caractere em uma consulta é o
		
	
	$
	
	#
	 
	%
	
	?
	
	&
	Respondido em 27/05/2021 22:51:49
	
		5a
          Questão
	Acerto: 1,0  / 1,0
	
	Considerando as tabelas descritas a seguir e a legenda: PK - chave primária / FK - chave estrangeira. 1 - ALUNO (matricula,nome,especializacao,nivel,idade), onde matricula é a PK; 2 - TURMA (nome_turma,horario,sala), onde nome_turma é a PK; 3 - MATRICULA (numero_aluno,nome_turma,numero_posicao), onde numero_aluno e nome_turma formam a PK, numero_aluno é FK referenciando ALUNO e nome_turma é FK referenciando TURMA. Marque a opção que contém o código em SQL para exibir o(s) nome(s) da(s) turma(s) que tem mais de 20 alunos matriculados:
		
	
	SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20
	
	SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma HAVING count(*) > 20 GROUP BY t.nome_turma
	
	SELECT * FROM TURMA t,MATRICULA m ON t.nome_turma = m.nome_turma WHERE count(*) > 20
	 
	SELECT t.nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma GROUP BY 1 HAVING count(*) > 20
	
	SELECT nome_turma,count(*) FROM TURMA t INNER JOIN MATRICULA m ON t.nome_turma = m.nome_turma GROUP BY nome_turma WHERE count(*) > 20
	Respondido em 27/05/2021 22:55:30
	
		6a
          Questão
	Acerto: 1,0  / 1,0
	
	Qual opção Representa a interpretação Correta sobre o CROSS JOIN
		
	 
	Serve para fazer a combinação dos elementos de uma tabela com todos os elementos de outra tabela sem a necessidade de junção de chaves primárias e estrangeiras.
	
	Não se aplica aos comandos DML
	
	É um comando exclusivo da DDL
	
	É um comando que substitui o INNER JOIN
	
	Nunca é usado em Estruturas SELECT
	Respondido em 27/05/2021 22:58:37
	
		7a
          Questão
	Acerto: 1,0  / 1,0
	
	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 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 UPPER (NomePopular) like _k;
	
	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 = 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;
	Respondido em 27/05/2021 23:02:04
	
		8a
          Questão
	Acerto: 1,0  / 1,0
	
	
Considerando-se as tabelas e o comando SQL mostrados acima, é
correto concluir que o número de registros removidos da tabela Y
pela execução desse comando é:
 
 
		
	
	3
	 
	5
	
	4
	
	1
	
	2
	Respondido em 27/05/2021 23:02:48
	
		9a
          Questão
	Acerto: 1,0  / 1,0
	
	O comando SELECT FROM corresponde a seguinte operação da álgebra relacional:
		
	 
	Projeção
	
	Interseção
	
	União
	
	Junção
	
	Seleção
	Respondido em 27/05/2021 23:03:15
	
		10a
          Questão
	Acerto: 1,0  / 1,0
	
	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 ORDERED BY NOME ASCENDING;
	
	SELECT NOME AND EMPREGADO FROM EMPREGADO ORDER BY NOME ASC;
	
	SELECT *.* FROMEMPREGADO ORDERED BY NOME;
	
	SELECT (MATRICULA, NOME) FROM EMPREGADO E ORDER BY Nome;
	 
	SELECT * FROM EMPREGADO ORDER BY NOME;
-----------------------------------

Outros materiais