Com base na tabela abaixo, assinale a alternativa que contém...

Próximas questões
Com base no mesmo assunto
Q762267 Banco de Dados
considerar para sua resposta o banco de dados gerado pelos seguintes trechos de um script em SQL.

CREATE TABLE regioes (
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 nomeRegiao VARCHAR(30) NOT NULL DEFAULT '',
 estadoRegiao VARCHAR(30) NOT NULL DEFAULT '',
 PRIMARY KEY (regiaoID)
);
CREATE TABLE vinicolas (
 vinicolaID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinicola CHAR(2) NOT NULL DEFAULT '',
 foneVincola INT UNSIGNED NOT NULL,
 regiaoID CHAR(2) NOT NULL DEFAULT '',
 PRIMARY KEY (vinicolaID),
 FOREIGN KEY (regiaoID) REFERENCES regioes (regiaoID)
);
CREATE TABLE vinhos (
 vinhoID INT UNSIGNED NOT NULL AUTO_INCREMENT,
 nomeVinho CHAR(2) NOT NULL DEFAULT '',
 tipoVinho VARCHAR(6) NOT NULL DEFAULT '',
 precoVinho DECIMAL(7,2) NOT NULL DEFAULT 99999.99,
 vinicolaID INT UNSIGNED NOT NULL,
 PRIMARY KEY (vinhoID),
 FOREIGN KEY (vinicolaID) REFERENCES vinicolas (vinicolaID)
)
INSERT INTO vinhos VALUES
 (10,'V1','tinto',100.00,1),
 (20,'V2','branco',200.00,1),
 (30,'V3','rose',300.00,1),
 (40,'V4','rose',350.00,2),
 (50,'V5','branco',250.00,2),
 (60,'V6','tinto',150.00,2),
 (70,'V7','tinto',397.00,3),
 (80,'V8','branco',333.00,3);
INSERT INTO vinicolas VALUES
 (1,'A1',1234,'R1'),
 (2,'A2',5234,'R1'),
 (3,'A3',6234,'R2'),
 (4,'A4',7234,'R2'),
 (5,'A5',8234,'R3');
INSERT INTO regioes VALUES
 ('R1','Vale S. Francico','Pernambuco'),
 ('R2','Zona da Mata','Pernambuco'),
 ('R3','Garibaldi', 'Rio Grande do Sul'),
 ('R4','Gramado','Rio Grande do Sul');

Com base na tabela abaixo, assinale a alternativa que contém os comandos SQL que gera a referida tabela.

+---------------+-----------+-------------+

| Tipo do Vinho | Mais caro | Preco Medio |

+---------------+-----------+-------------+

| branco | 333.00 | 261.000000 |

| rose | 350.00 | 325.000000 |

| tinto | 397.00 | 215.666667 |

+---------------+-----------+-------------+

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E

A questão em tela demanda conhecimento sobre SQL, mais especificamente as funções de agregação MAX() e AVG(), e a cláusula GROUP BY. Entender a sintaxe para renomeação de colunas utilizando AS é crucial para formular a resposta correta.

O objetivo é exibir uma tabela com o tipo de vinho, o preço mais caro e o preço médio para cada tipo. Para isso, é necessário agrupar os resultados por tipo de vinho e calcular o valor máximo e médio dos preços.

A alternativa correta E utiliza a sintaxe correta do SQL para alcançar este objetivo:

SELECT tipoVinho AS 'Tipo do Vinho',

MAX(precoVinho) AS 'Mais caro',

AVG(precoVinho) AS 'Preco Medio'

FROM vinhos

GROUP BY tipoVinho;

O comando SELECT inicia a consulta. A cláusula AS renomeia os resultados das funções de agregação para corresponder aos nomes das colunas apresentados na tabela resultante da questão. O MAX(precoVinho) retorna o preço mais alto para cada grupo de 'tipoVinho', enquanto AVG(precoVinho) calcula a média do preço dos vinhos de cada tipo. A cláusula GROUP BY tipoVinho garante que os vinhos sejam agrupados por seu tipo, permitindo que as funções de agregação operem dentro de cada grupo.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Desperdício de questão. Só de olhar a construção do SELECT dá pra identificar a sentença correta (Letra E)

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo