Uma possível consulta SQL que retorna a lista de nomes de t...

Próximas questões
Com base no mesmo assunto
Q2760020 Arquitetura de Software

Uma possível consulta SQL que retorna a lista de nomes de todos os alunos do sexo masculino que possuem mais de 18 anos de idade é:

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: D - SELECT nome FROM aluno WHERE sexo = 'M' AND idade > '18';

A questão pede para elaborar uma consulta SQL que retorna a lista de nomes de todos os alunos do sexo masculino que possuem mais de 18 anos. Para resolver esta questão, é necessário entender a sintaxe básica do SQL, particularmente os comandos SELECT, FROM, e WHERE.

Vamos analisar a alternativa correta (D) e entender por que ela é a escolha certa:

SELECT nome FROM aluno WHERE sexo = 'M' AND idade > '18';

Nessa consulta:

  • SELECT nome: especifica que queremos os nomes dos alunos.
  • FROM aluno: indica que a consulta deve buscar esses nomes na tabela aluno.
  • WHERE sexo = 'M' AND idade > '18': filtra a busca para retornar apenas os alunos que têm sexo masculino (sexo = 'M') e idade maior que 18 anos (idade > '18').

Agora, vamos entender por que as outras alternativas estão incorretas:

A - SELECT nome OF aluno WHEN sexo = 'M' OR idade > '18';

Nessa alternativa, o comando OF não é válido em SQL; o correto é FROM. Além disso, o uso de WHEN está incorreto; deveria ser WHERE. A condição OR (idade > '18') não atende ao critério de selecionar somente alunos do sexo masculino com mais de 18 anos, pois selecionaria alunos que atendem a qualquer uma das condições.

B - SELECT nome WHERE aluno AND sexo = 'M', idade > '18';

Nessa alternativa, o comando WHERE está mal posicionado; deveria ser FROM aluno. Além disso, a separação das condições por vírgula (,) é incorreta; o correto seria usar a conjunção AND para combinar as condições.

C - SELECT nome FROM aluno AND sexo = 'M' AND idade > '18';

Nessa alternativa, o comando AND não é apropriado logo após FROM. A palavra-chave correta seria WHERE para iniciar as condições de filtragem.

E - SELECT nome WHERE aluno IF sexo = 'M' IF idade > '18';

Nessa alternativa, o comando IF não é usado em SQL da maneira mostrada. O correto seria usar WHERE para definir as condições, e FROM para especificar a tabela.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

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