Sobes.tech
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:

  1. FROM — selecionam-se as tabelas e realizam-se as junções (JOIN).
  2. WHERE — filtragem de linhas de acordo com a condição.
  3. GROUP BY — agrupamento de linhas.
  4. HAVING — filtragem de grupos.
  5. SELECT — seleção de colunas e cálculo de expressões.
  6. ORDER BY — ordenação do resultado.
  7. 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.