Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FCC 2023

Banco de DadosConsultas e Comandos em SQL
Código
fc144458
Banca
FCC
Órgão
TRT 21
Ano
2023
Cargo
AJ TRT21

Para responder a questão, considere as instruções a seguir.

 

Considere a existência das tabelas abaixo.

 

Tabela departamento:
idDep VARCHAR(10) primary key
nomeDep VARCHAR(70)
telefoneDep VARCHAR(15)

 

Tabela funcionario
emailFun VARCHAR(45) primary key
nome Fun VARCHAR (70)
telefoneFun VARCHAR(15)
cargoFun VARCHAR(45)
salarioFun DOUBLE
idDep VARCHAR(10) foreign key

 

Tabela usuario:
emailFun VARCHAR(45) primary key e foreign key
senhausu VARCHAR(50)

 

A relação de departamento para funcionario é 1:n e de funcionario para usuario, 1:1.

Em um banco de dados Oracle 19c aberto e em condições ideais, o comando usado no SQL Plus para exibir o nome do funcionário, telefone e o nome do departamento associados à senha do usuário "senha4" é o
  1. ASELECT F.nomeFun AS Nome_Funcionario, F.telefoneFun AS Telefone, D.nomeDep AS Nome_Departamento FROM usuario U OUTER JOIN funcionario F ON U.emailFun = F.emailFun OUTER JOIN departamento D ON F.idDep = D.idDep WHERE U.senhausu = 'senha4';
  2. BSELECT F.nomeFun AS "Nome do Funcionario", F.telefoneFun AS Telefone, D. nomeDep AS "Nome do Departamento" FROM usuario U JOIN funcionario F IN U.emailFun = F.emailFun JOIN departamento D IN F.idDep = D.idDep WHERE U.senhaUsu = 'senha4";
  3. CSELECT F.nomeFun AS Nome_Funcionario, F.telefoneFun AS Telefone, D.nomeDep AS Nome_Departamento FROM usuario U JOIN funcionario F WHERE U.emailFun = F.emailFun JOIN departamento D WHERE F.idDep = D.idDep WHERE U.senhaUsu = 'senha4';
  4. DSELECT F.nomeFun AS Nome_Funcionario, F.telefoneFun AS Telefone, D.nomeDep AS Nome_Departamento FROM usuario U INNER JOIN funcionario F ON U.emailFun = F.emailFun INNER JOIN departamento D ON F.idDep = D.idDep WHERE U.senhaUsu = 'senha4';
  5. ESELECT (SELECT nomeFun FROM funcionario WHERE emailFun = (SELECT emailFun FROM usuario WHERE senhaUsu = 'senha4')) AS Nome do Funcionario, (SELECT telefoneFun FROM funcionario WHERE emailFun = (SELECT emailFun FROM usuario WHERE senhaUsu = 'senha4')) AS Telefone, (SELECT nomeDep FROM departamento WHERE idDep = (SELECT idDep FROM funcionario WHERE emailFun = (SELECT emailFun FROM usuario WHERE senhaUsu = 'senha4'))) AS Nome_Departamento FROM dual;
Revelar gabarito e comentário

GabaritoD — SELECT F.nomeFun AS Nome_Funcionario, F.telefoneFun AS Telefone, D.nomeDep AS Nome_Departamento FROM usuario U INNER JOIN funcionario F ON U.emailFun = F.emailFun INNER JOIN departamento D ON F.idDep = D.idDep WHERE U.senhaUsu = 'senha4';

Link permanente: /questoes/fc144458