FC ConcursosFC Concursos

Questão FC372780

Considere duas tabelas em um banco de dados relacional de uma companhia de gás: uma tabela chamada Consumidor, que armazena informações sobre os clientes que consomem gás e outra t

Linguagem SQL

FCC · 2024

Considere duas tabelas em um banco de dados relacional de uma companhia de gás: uma tabela chamada Consumidor, que armazena informações sobre os clientes que consomem gás e outra tabela chamada OrdemServico, que contém informações sobre as ordens de serviços prestados pela companhia de gás para um dado cliente. A relação entre as tabelas é um para muitos, ou seja, uma dada ordem de serviço se refere a um único cliente e um cliente pode ter mais de um serviço prestado a ele. As tabelas estão normalizadas.

 

A tabela Consumidor tem nome_cons e endereço_cons e o identificador é codigo_cons. A tabela OrdemServico tem nome_serv e valor_serv e o identificador é codigo_serv. O codigo_cons é chave estrangeira em OrdemServico.

 

Para obter o nome e o endereço do consumidor e os serviços prestados a ele - nome do serviço e valor do serviço - usando o T-SQL em condições ideais e usando INNER JOIN, o código escrito foi

 

SELECT c.nome cons,

c.endereço_cons,

s.nome_serv,

s.valor_serv

FROM    I   .

INNER JOIN    II    c.codigo_cons    III   ;

 

Para o código estar correto, as lacunas I, II e III devem conter, respectivamente,

  1. consumidor c - ordemservico s ON - = s.codigo_cons
  2. consumidor c - ordemservico s WHERE - s.codigo_cons
  3. consumidor c - ordemservico s ON - = c.codigo_cons
  4. ordemservico s - consumidor c LIKE - s.codigo_cons
  5. ordemservico s - consumidor e WHERE - = c.codigo_cons
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

FROM consumidor c INNER JOIN ordemservico s ON c.codigo_cons = s.codigo_cons;

Preenche-se a primeira lacuna com consumidor c e a segunda com ordemservico s, usando alias (c e s) para referenciar colunas de forma concisa. A palavra ON inicia a condição de junção, que é a terceira lacuna.

A expressão c.codigo_cons = s.codigo_cons estabelece a igualdade entre a chave primária da tabela Consumidor e a chave estrangeira presente em OrdemServico, garantindo que cada serviço seja associado ao seu consumidor.

O uso de INNER JOIN retorna apenas os consumidores que têm ordens de serviço, o que é coerente com a necessidade de listar nome/endereço do cliente junto dos serviços prestados.

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

Continue aprendendo