As cláusulas do comando de consulta da linguagem SQL devem s...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Olá! A alternativa correta é a D. Vamos entender melhor como as cláusulas da linguagem SQL funcionam para que você possa compreender o motivo dessa ser a sequência correta.
O SQL, ou Structured Query Language, é um idioma projetado para gerenciar e manipular bancos de dados relacionais. Uma consulta básica em SQL geralmente começa com a cláusula SELECT, onde são especificadas as colunas que desejamos recuperar. Em seguida, utilizamos a cláusula FROM para indicar de qual tabela queremos buscar os dados.
Após especificar a origem dos dados, podemos filtrar as linhas que são de interesse usando a cláusula WHERE. Caso queiramos agrupar linhas com base em valores de uma ou mais colunas, usamos a cláusula GROUP BY. Agora, se quisermos aplicar uma condição aos grupos e não às linhas individuais, usamos a cláusula HAVING.
Por fim, para ordenar o resultado da consulta, a cláusula ORDER BY é utilizada. A sequência correta dessas cláusulas é crucial, pois cada uma depende do resultado da anterior. Assim, não faz sentido, por exemplo, filtrar grupos antes de eles serem formados, o que explica por que a cláusula HAVING vem após o GROUP BY.
Portanto, a sequência correta e lógica para a escrita de uma consulta em SQL é:
- SELECT - Especifica o que será mostrado no resultado.
- FROM - Indica a tabela de onde os dados serão obtidos.
- WHERE - Filtra as linhas de acordo com uma condição.
- GROUP BY - Agrupa as linhas com base em uma ou mais colunas.
- HAVING - Filtra grupos criados pelo GROUP BY segundo uma condição.
- ORDER BY - Ordena o resultado final da consulta.
Respeitar essa ordem é essencial para escrever consultas válidas e eficientes. Por isso, memorizar essa sequência pode ajudar bastante na hora de resolver questões de concurso público ou até mesmo no seu dia a dia trabalhando com bancos de dados.
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
SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]select_expr
[,select_expr
...] [FROMtable_references
[WHEREwhere_condition
] [GROUP BY {col_name
|expr
|position
} [ASC | DESC], ... [WITH ROLLUP]] [HAVINGwhere_condition
] [ORDER BY {col_name
|expr
|position
} [ASC | DESC], ...] [LIMIT {[offset
,]row_count
|row_count
OFFSEToffset
}] [PROCEDUREprocedure_name
(argument_list
)] [INTO OUTFILE 'file_name
' [CHARACTER SETcharset_name
]export_options
| INTO DUMPFILE 'file_name
' | INTOvar_name
[,var_name
]] [FOR UPDATE | LOCK IN SHARE MODE]]
fonte: http://dev.mysql.com/doc/refman/5.1/en/select.html
1 – SELECT = Seleciona Colunas
2 – FROM
- Ela lista as relações a serem examinadas na avaliação da expressão.
3 – WHERE = Filtra LINHAS antes do AGRUPAMENTO
- Consiste em um predicado envolvendo atributos de relações que aparecem na cláusula from
4 – GROUP BY = AGRUPAMENTO, RESTRINGIR GRUPOS EM COLUNAS
5 – HAVING = CONDIÇÃO DE AGRUPAMENTO, FILTRA APÓS O AGRUPAMENTO, FOCO EM LINHAS
6 – ORDER BY = ORDENA APÓS O AGRUPAMENTO, ESPECIFICA COLUNAS COM OUTRAS COLUNAS
GABARITO D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo