Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FGV 2022

Banco de DadosConsultas e Comandos em SQL
Código
fg152893
Banca
FGV
Órgão
CGU
Ano
2022
Cargo
AFFC ( )

cliente

codigo
310
312
314
316
 

Visitas

codigodata
310

2022/03/01

312

2022/03/01

312

2022/03/10

310

2022/03/11

314

2022/03/11

312

2022/03/11

312

2022/03/11

314

2022/04/05

312

2022/04/07

João deve produzir um relatório que mostra o número de visitas ao site da empresa de cada cliente a cada mês. Mesmo os clientes que não visitaram o site devem ser contabilizados.


O conteúdo do relatório, de acordo com as instâncias das tabelas cliente e visita, descritas anteriormente, é exibido a seguir.

 
codigomêsvisitas
31032
31040
31233
31241
31431
31441
31630
31640

João considerou três scripts SQL para produzir esse relatório.


I.
select c.codigo cliente, month(v.data) mês,

           count(distinct v.data) frequencia
from cliente c LEFT JOIN visita v

        on c.codigo = v.codigo
group by c.codigo, month(data)
order by 1,2
II.
select c.codigo cliente, month(v.data) mês,

          count(distinct v.data) frequencia
from cliente c INNER JOIN visita v

        on c.codigo = v.codigo
group by c.codigo, month(data)
UNION
select distinct c.codigo cliente,

           month(v.data) mês, 0 frequencia
from cliente c, visita v
where not exists

    (select * from visita v2

     where v2.codigo=c.codigo

          and month(v2.data)=month(v.data))
order by 1,2
III.
select c.codigo, m.mês,
          (select count(distinct v.data)
             from visita v
           where month(v.data) = m.mês
               and v.codigo = c.codigo) frequencia
from
(select distinct month(data) mês from visita) m,
(select distinct codigo from cliente) c
order by 1, 2

ATENÇÃO! Para resolver a questão, considere as tabelas cliente e visita, conforme as instâncias exibidas a seguir.

 

Produz(em) o resultado corretamente somente o(s) script(s):

  1. AI;
  2. BII;
  3. C III;
  4. DI e II;
  5. EII e III.
Revelar gabarito e comentário

GabaritoE — II e III.

Link permanente: /questoes/fg152893