Questão FC369492
Seja um banco de dados relacional especificado em SQL de uma empresa de correspondência entre clientes, instituições financeiras e empréstimos contratados por esses clientes nessas
Linguagem SQL
FGV · 2024
Seja um banco de dados relacional especificado em SQL de uma empresa de correspondência entre clientes, instituições financeiras e empréstimos contratados por esses clientes nessas instituições, previamente implementado em um banco de dados como a seguir:
create table tb_cliente
(
id_cliente integer primary key,
num_cpf char(11) unique,
nome varchar(50) not null,
email varchar(20),
telefone varchar(20),
endereco varchar(100),
cidade varchar(20),
estado char(2)
);
create table tb_financeira
(
id_financeira integer primary key,
razao_social varchar(30) not null,
cidade varchar(30) not null,
estado char(2) not null
);
create table tb_emprestimo
(
id_financeira integer references tb_financeira,
id_cliente integer references tb_cliente,
valor real not null check(valor > 0),
dia integer not null check(dia >= 1 and dia <= 31),
mes integer not null check(mes >= 1 and mes <= 12),
ano integer not null check(ano >= 1980 and ano <= 2100),
primary key(id_financeira, id_cliente, dia, mes, ano)
);
OBS: Neste banco de dados, cadeias de caracteres (strings) são representadas envoltas em aspas simples.
Para a conferência de empréstimos realizada pelos clientes, os auditores dispõem da seguinte visão:
create view v_max_emp_cli(cli,ano,val) as
select c.nome, e.ano, count(e.valor)
from tb_cliente c, tb_emprestimo e
group by c.nome, e.ano
Um auditor deseja saber quais os clientes cujo nome termina em ‘MORAES’ no ano de 2024, utilizando essa estrutura de visão anteriormente apresentada.
Assinale a opção que apresenta a consulta que atende ao objetivo em tela, sabendo-se que os nomes dos clientes foram todos cadastrados utilizando-se exclusivamente caracteres alfabéticos maiúsculos.
- select c.nome from v_max_emp_cli where cli = '%MORAES' and ano = 2024
- select c.nome from v_max_emp_cli where cli LIKE '%MORAES%' and ano = 2024
- select cli from v_max_emp_cli where cli = '%MORAES' and ano = 2024
- select cli from v_max_emp_cli where cli like '%MORAES' and ano = 2024
- select cli from v_max_emp_cli where cli like '%MORAES%' and ano = 2024
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A consulta correta é select cli from v_max_emp_cli where cli like '%MORAES' and ano = 2024. Ela explora diretamente a visão disponibilizada, que já possui as colunas cli (nome do cliente) e ano.
O operador like com o padrão '%MORAES' usa o caractere curinga % para indicar qualquer sequência de caracteres antes de MORAES, portanto seleciona nomes que terminam em MORAES. Como os nomes foram cadastrados em letras maiúsculas, não há necessidade de manipulação de caixa.
A cláusula ano = 2024 restringe os resultados ao ano desejado. A consulta retorna apenas a coluna cli, isto é, os nomes dos clientes que satisfazem ambas as condições.
Conteúdo do catálogo FC Concursos · Atualizado em