Assinale a alternativa que contém o resultado do comando SQL...
Assinale a alternativa que contém o resultado do comando SQL.
SELECT
nomeVinho, tipoVinho, precoVinho
FROM vinhos ORDER BY precoVinho LIMIT 2, 1;
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C
Para resolver essa questão, é importante compreender o funcionamento das cláusulas ORDER BY e LIMIT no SQL. A cláusula ORDER BY é usada para ordenar os dados retornados por uma consulta em uma ordem específica, seja ascendente (ASC) ou descendente (DESC). Por padrão, se não especificado, a ordenação é ascendente. Já a cláusula LIMIT é utilizada para restringir o número de linhas retornadas em uma consulta.
O comando SELECT nomeVinho, tipoVinho, precoVinho FROM vinhos ORDER BY precoVinho LIMIT 2, 1; pede para retornar o nome, o tipo e o preço dos vinhos, ordenados pelo preço do vinho (do menor para o maior, pois não é especificado ASC ou DESC), e em seguida utiliza o LIMIT para restringir o resultado.
A parte LIMIT 2, 1 é interpretada da seguinte maneira: o primeiro número (2) indica a quantidade de linhas que serão puladas, enquanto o segundo número (1) indica a quantidade de linhas a serem retornadas após pular as primeiras 2. Em outras palavras, estamos pedindo a terceira linha mais barata de acordo com o preço do vinho.
Observando os valores inseridos na tabela vinhos, temos que os preços em ordem crescente são:
- 100.00 (V1)
- 150.00 (V6)
- 200.00 (V2)
- 250.00 (V5)
- ...
Aplicando o LIMIT 2, 1, pulamos V1 e V6 e selecionamos V2, que é a terceira linha na ordem de preços ascendentes.
Assim, a linha retornada será:
+-----------+-----------+------------+ | nomeVinho | tipoVinho | precoVinho | +-----------+-----------+------------+ | V2 | branco | 200.00 | +-----------+-----------+------------+
Portanto, a alternativa C está correta, pois apresenta o vinho "V2", de tipo "branco", com preço "200.00", que é o terceiro mais barato conforme especificado pela consulta SQL.
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
Para a letra C estar correta não seria assim:
SELECT nomeVinho, tipoVinho, precoVinho FROM vinhos ORDER BY precoVinho LIMIT 1, 1;
Começa a contar pelo 1 ou 0?
http://www.scriptcase.com.br/blog/limit-mysql/
Em ordem:
100.00
150.00
200.00
250.00
300.00
333.00
350.00
397.00
A ordenação dos registros de vINHOS, como especificado, e a exibição de UM registro a partir do SEGUNDO, na ordem; (Seria a mesma coisa que dizer, eu quero somente o TERCEIRO registro).
por exemplo, recuperar 4 registros A PARTIR do registro número 12
em mysql seria
Select * from Tabela Limit 12,4
Cuidado com essa história de "a partir".
Um OFFSET de 2 não começa no segundo, ele pula dois e começa do terceiro
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo