FC ConcursosFC Concursos

Questão FC372845

Tabela Consumidor: idConsumidor nomeConsumidor cpfConsumidor 1 Paulo Vieira Lima 156.167.178-2 2 Marcos Santana Silva 234.156.765-12 3 Maria de Fátima Caetano Rosa 187.198.056-7 4

Linguagem SQL

FCC · 2019

 

Tabela  Consumidor:

 

idConsumidor     nomeConsumidor                           cpfConsumidor

 

        1                 Paulo Vieira Lima                            156.167.178-2

 

        2                 Marcos Santana Silva                      234.156.765-12

 

        3                 Maria de Fátima Caetano Rosa       187.198.056-7

 

        4                 Zoraide Pereira Mota                        238.765.234-12

 

Tabela  Fatura:

 

idFatura             idConsumidor            mesRefFatura      DataVencFatura     numHidrometroFatura    medidaConsumo

 

3365693                       1                           05/2019               2019-05-20                  344036                           80

 

3366691                       2                           05/2019               2019-05-10                  345681                           120

 

3367690                      1                         04/2019               2019-04-28                  344036                            89

 

3390871                       2                          03/2019               2019-03-18                  345681                            100

 

Tabela  ItemFatura:

 

idItemFatura      idFatura      descItemFatura                  valorItemFatura

 

        1                3365693      Captação de água bruta              0.1

 

        1                3366691      Tratamento de água                     90         

 

        1                3367690      Tratamento de água                   61.23

 

        2                3365693      Tratamento de água                   60.19

 

        2                3366691      Tratamento de esgoto                67.67

 

        3                3365693      Coleta de esgoto                        47.35

 

        3                3366691      Afastamento de esgoto                 80

 

        4                3365693      Tratamento de Esgoto                   25

   

Um Analista de Suporte de Banco de Dados digitou um comando SQL que exibiu o número de faturas que cada consumidor possuía cadastradas no banco de dados, conforme mostrado abaixo.

 

nomeConsumidor                         numeroFaturas

 

Paulo Vieira Lima                                    2

 

Marcos Santana Silva                             2

 

Maria de Fátima Caetano Rosa              0

 

Zoraide Pereira Mota                              0

 

O comando correto utilizado para exibir os dados foi

  1. SELECT nomeConsumidor FROM Consumidor c JOIN Fatura f (COUNT(f.idFatura) ) AS numeroFaturas ON (f.idConsumidor = c.idConsumidor);
  2. SELECT nomeConsumidor, (SELECT COUNT(idFatur) FROM Fatura WHERE idConsumidor = c.idConsumidor) FROM Consumidor c;
  3. SELECT nomeConsumidor FROM Consumidor c JOIN Fatura f ON (SELECT COUNT(f.idFatura) FROM Fatura f WHERE f.idConsumidor = c.idConsumidor) AS numeroFaturas;
  4. SELECT nomeConsumidor, (SELECT f.idFatura FROM Fatura f WHERE f.idConsumidor = c.idConsumidor) as numeroFaturas FROM Consumidor c;
  5. SELECT nomeConsumidor, (SELECT COUNT(f.idFatura) FROM Fatura f WHERE f.idConsumidor = c.idConsumidor) as numeroFaturas FROM Consumidor c;
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

A instrução apresentada exibe duas colunas: nomeConsumidor e numeroFaturas. A segunda é preenchida por uma subconsulta correlacionada que retorna, para cada consumidor, a quantidade de faturas cadastradas.

O trecho (SELECT COUNT(f.idFatura) FROM Fatura f WHERE f.idConsumidor = c.idConsumidor) conta as linhas da tabela Fatura cujo idConsumidor coincide com o do registro atual de Consumidor c. Por ser correlacionada, essa subconsulta é avaliada uma vez para cada linha da tabela externa.

O uso de COUNT garante que, quando não houver faturas, o resultado será 0, apresentando corretamente consumidores sem faturas. Por fim, o alias as numeroFaturas nomeia a coluna resultante na saída.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo