[Questão inédita] No banco de dados de um sistema, instânci...
CREATE TABLE tb_users ( id INT NOT NULL AUTO_INCREMENT, nome VARCHAR(100) NOT NULL, email VARCHAR(50) NOT NULL, idade INT NOT NULL, PRIMARY KEY (id) );
Em seguida, foram executados os seguintes comandos:
INSERT INTO tb_users( nome, email, idade) VALUES ( ‘Ana’, [email protected]’,18); INSERT INTO tb_users( nome, email, idade) VALUES ( ‘Beatriz’, ‘[email protected]’,24); INSERT INTO tb_users( nome, email, idade) VALUES ( ‘Carol’, ‘[email protected]’,18); INSERT INTO tb_users( nome, email, idade) VALUES (‘Diana’, ‘[email protected]’,19); INSERT INTO tb_users( nome, email, idade) VALUES (‘Elsa’, ‘[email protected]’,30); INSERT INTO tb_users( nome, email, idade) VALUES (‘Fernanda’, ‘[email protected]’,23);
E, por último, a seguinte consulta:
SELECT nome FROM tb_users WHERE idade > 22 ORDER BY DESC
De acordo com os comandos executados, o primeiro nome a aparecer no resultado da consulta será:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
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
Errei pq nao me atentei ao detalhe do DESC!
ORDER BY O QUE???????????????????????????????
Vamos analisar os comandos SQL executados para determinar o primeiro nome a aparecer no resultado da consulta.
Primeiro, a tabela `tb_users` é criada com as seguintes colunas:
```sql
CREATE TABLE tb_users (
id INT NOT NULL AUTO_INCREMENT,
nome VARCHAR(100) NOT NULL,
email VARCHAR(50) NOT NULL,
idade INT NOT NULL,
PRIMARY KEY (id)
);
```
Depois, foram inseridos os seguintes registros:
```sql
INSERT INTO tb_users(nome, email, idade) VALUES ('Ana', '[email protected]', 18);
INSERT INTO tb_users(nome, email, idade) VALUES ('Beatriz', '[email protected]', 24);
INSERT INTO tb_users(nome, email, idade) VALUES ('Carol', '[email protected]', 18);
INSERT INTO tb_users(nome, email, idade) VALUES ('Diana', '[email protected]', 19);
INSERT INTO tb_users(nome, email, idade) VALUES ('Elsa', '[email protected]', 30);
INSERT INTO tb_users(nome, email, idade) VALUES ('Fernanda', '[email protected]', 23);
```
A consulta realizada é:
```sql
SELECT nome FROM tb_users WHERE idade > 22 ORDER BY idade DESC;
```
Essa consulta seleciona todos os nomes onde a idade é maior que 22 e ordena os resultados pela idade em ordem decrescente. Vamos filtrar os registros e ordenar conforme a consulta:
Os registros que têm idade maior que 22 são:
- Beatriz (24)
- Elsa (30)
- Fernanda (23)
Ordenando esses registros pela idade em ordem decrescente, obtemos:
1. Elsa (30)
2. Beatriz (24)
3. Fernanda (23)
Portanto, o primeiro nome a aparecer no resultado da consulta será:
**C. Elsa**
Estranhassa essa questão. Errei porque não especifica nada no ORDER BY, deduzi que fosse pela única coluna selecionada (algum tipo de pegadinha porque não tem nada no ORDER BY), já que a "idade" só é usada no WHERE
tem que colocar ORDER BY idade DESC
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo