FC ConcursosFC Concursos

Questão FC295891

Qual das seguintes expressões, na linguagem de consultas SQL, retorna a receita total de vendas de carros do tipo SUV em 2023, agrupada por fabricante, na cidade de São Paulo?

Linguagem SQL

CESGRANRIO · 2023

Em um banco de dados multidimensional, frequentemente modelado como um cubo de dados, as dimensões são diferentes perspectivas sob as quais os dados podem ser analisados, e os fatos são os dados mais importantes que são analisados ou consultados em relação a essas dimensões.

 

Considere um esquema multidimensional que envolve automóveis, os fabricantes e as revendedoras de carros, com as tabelas Dimensão apresentadas a seguir:

 

1. Dim_Automóvel:

  • Modelo_ID (identificador único para cada modelo de carro)
  • Nome_Modelo (por exemplo: Corolla, Civic, Tucson)
  • Tipo (por exemplo: Sedan, SUV, Coupe)
  • Ano_Lançamento


2. Dim_Fabricante:

  • Fabricante_ID (identificador único para cada fabricante)
  • Nome_Fabricante (por exemplo: Toyota, Honda, Ford)
  • País_Origem (por exemplo: Japão, EUA, Alemanha)


3. Dim_Revendedora:

  • Revendedora_ID (identificador único para cada revendedora)
  • Nome_Revendedora
  • Localização (cidade e estado)
  • Tipo_Revenda (por exemplo: autorizada, independente)
 

A tabela Vendas, que representa fatos, contém as seguintes colunas:

 

• Modelo_ID (chave estrangeira para Dim_Automóvel)
• Fabricante_ID (chave estrangeira para Dim_Fabricante)
• Revendedora_ID (chave estrangeira para Dim_Revendedora)
• Quantidade_Vendida
• Receita_Total (o total em vendas para essa tripla: modelo, fabricante e revendedora)
• Data_Venda

 

Qual das seguintes expressões, na linguagem de consultas SQL, retorna a receita total de vendas de carros do tipo SUV em 2023, agrupada por fabricante, na cidade de São Paulo?

  1. SELECT f.Nome_Fabricante, SUM(v.Receita_Total) AS Receita_Total

    FROM Tbl_Vendas v JOIN Dim_Automóvel a ON v.Modelo_ID = a.Modelo_ID

    WHERE a.Tipo = 'SUV'

    AND r.Localização = 'São Paulo'

    AND a.Ano_Lançamento = 2023

    GROUP BY f.Nome_Fabricante;

  2. SELECT f.Nome_Fabricante, SUM(v.Receita_Total) AS Receita_Total

    FROM Tbl_Vendas v

    LEFT JOIN Dim_Automóvel a ON v.Modelo_ID = a.Modelo_ID

    JOIN Dim_Fabricante f ON v.Fabricante_ID = f.Fabricante_ID

    WHERE a.Tipo = 'SUV'

    AND a.Ano_Lançamento = 2023

    GROUP BY f.Nome_Fabricante;

  3. SELECT f.Nome_Fabricante, SUM(v.Receita_Total) AS Receita_Total FROM Tbl_Vendas v JOIN Dim_Automóvel a ON v.Modelo_ID = a.Modelo_ID JOIN Dim_Fabricante f ON v.Fabricante_ID = f.Fabricante_ID JOIN Dim_Revendedora r ON v.Revendedora_ID = r.Revendedora_ID WHERE a.Tipo = 'SUV' AND a.Ano_Lançamento = 2023 AND r.Localização = 'São Paulo' GROUP BY f.Nome_Fabricante;

  4. SELECT r.Localização, SUM(v.Receita_Total) AS Receita_Total FROM Tbl_Vendas v JOIN Dim_Automóvel a ON v.Modelo_ID = a.Modelo_ID JOIN Dim_Fabricante f ON v.Fabricante_ID = f.Fabricante_ID WHERE a.Tipo = 'SUV' AND a.Ano_Lançamento = 2023 GROUP BY r.Localização;

  5. SELECT f.Nome_Fabricante, COUNT(v.Receita_Total) AS Receita_Total FROM Tbl_Vendas v JOIN Dim_Automóvel a ON v.Modelo_ID = a.Modelo_ID JOIN Dim_Fabricante f ON v.Fabricante_ID = f.Fabricante_ID JOIN Dim_Revendedora r ON v.Revendedora_ID = r.Revendedora_ID WHERE a.Tipo = 'SUV' AND a.Ano_Lançamento = 2023 AND r.Localização = 'São Paulo' GROUP BY f.Nome_Fabricante;

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A consulta apresentada retorna corretamente a receita total por fabricante ao combinar a tabela de fatos com as três dimensões. No SELECT usamos f.Nome_Fabricante e SUM(v.Receita_Total) para obter o total agregado de vendas por fabricante.

Os JOINs com Dim_Automóvel, Dim_Fabricante e Dim_Revendedora são necessários para acessar atributos de filtro: a.Tipo (tipo do carro) e r.Localização (cidade da revenda). Sem essas junções não seria possível filtrar por SUV nem por São Paulo.

A cláusula WHERE aplica os filtros solicitados: a.Tipo = 'SUV', a.Ano_Lançamento = 2023 e r.Localização = 'São Paulo'. Por fim, o GROUP BY f.Nome_Fabricante agrupa os resultados para calcular a soma por fabricante.

Assim, a expressão atende às condições da questão, integrando corretamente junções, filtros e agregação para produzir a receita por fabricante em São Paulo.

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

Continue aprendendo