[Questão inédita] No banco de dados de um sistema, instânci...

Próximas questões
Com base no mesmo assunto
Q2486322 Banco de Dados
[Questão inédita] No banco de dados de um sistema, instância de MySQL, foi executado seguinte comando:

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á:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Após a execução do primeiro código, a tabela tb_users é criada no banco de dados. Em seguida, são inseridos seis registros. A consulta retorna os nomes de usuários (nome) cuja idade é maior que 22, ordenando os resultados em ordem decrescente (ORDER BY DESC). Isso significa que os resultados serão classificados da maior idade para a menor idade. Assim, o resultado será: • Elsa com idade 30. • Beatriz com idade 24. • Fernanda com idade 23. GABARITO: C

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