Middle
Qual é a ordem de execução dos operadores numa consulta SQL?
sobes.tech IA
Resposta da IA
A ordem de execução dos operadores numa consulta SQL difere da ordem em que são escritos. A ordem geral do processamento lógico da consulta é a seguinte:
- FROM — selecionam-se as tabelas e realizam-se as junções (JOIN).
- WHERE — filtragem de linhas de acordo com a condição.
- GROUP BY — agrupamento de linhas.
- HAVING — filtragem de grupos.
- SELECT — seleção de colunas e cálculo de expressões.
- ORDER BY — ordenação do resultado.
- LIMIT / OFFSET — limitação do número de linhas retornadas.
Por exemplo, na consulta:
SELECT name, COUNT(*)
FROM users
WHERE age > 18
GROUP BY name
HAVING COUNT(*) > 1
ORDER BY name
LIMIT 10;
Primeiro, selecionam-se as linhas de users, depois filtram-se por age > 18, depois agrupam-se por name, filtram-se os grupos com contagem maior que 1, depois selecionam-se as colunas, ordenam-se e limitam-se em quantidade.
É importante entender isso para otimizar as consultas e construir corretamente expressões SQL complexas.