A partir do código SQL (Structured Query Language) acima, ju...
SELECT d.nome, d.data_contratacao, c.nome, c.data_contratacao
FROM dentista d JOIN dentista c
ON (d.cro_chefe = c.cro)
WHERE d.data_contratacao < c.data_contratacao;
A partir do código SQL (Structured Query Language) acima, julgue o item subsecutivo.
A cláusula ORDER BY poderia ser adicionada ao código, no local apropriado, sem provocar erro de construção.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
A questão aborda o uso da instrução ORDER BY em uma consulta SQL. Para resolver a questão, é importante entender que a cláusula ORDER BY é utilizada para ordenar os resultados de uma consulta de acordo com uma ou mais colunas, em ordem ascendente (ASC) ou descendente (DESC). Essa ordenação não interfere na lógica da junção (JOIN) ou na filtragem de resultados (WHERE).
A consulta SQL apresentada realiza um JOIN entre a tabela dentista consigo mesma para relacionar dentistas com seus respectivos chefes. O filtro aplicado pela cláusula WHERE seleciona apenas aqueles dentistas que foram contratados antes de seus chefes.
A inclusão de uma cláusula ORDER BY nessa consulta é totalmente válida e não causaria erro de construção da consulta. Poderia ser usada, por exemplo, para ordenar os resultados pelo nome ou pela data de contratação, facilitando a análise dos dados retornados. A sintaxe correta para adicionar essa cláusula seria após o WHERE, por exemplo:
SELECT d.nome, d.data_contratacao, c.nome, c.data_contratacao FROM dentista d JOIN dentista c ON (d.cro_chefe = c.cro) WHERE d.data_contratacao < c.data_contratacao ORDER BY d.nome ASC;
Portanto, a alternativa C está correta porque a adição de uma cláusula de ordenação não altera a corretude da consulta SQL fornecida.
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
No meu entender a cláusula ORDER BY sozinha não poderia ser adicionada sem causar erro, teria que se adicionar o campo a ser ordenado também
Nessas questões da Quadrix, se você ficar matutando demais, vai errar. De fato não existe ORDER BY nada, tem que ter um parâmetro. Mas a questão quer saber se você pode ordenar os dados dessa consulta. E de fato pode, tanto pelo c ou d.nome ou c ou d.data_contratacao
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo