[SQL] Princípios da Structured Query Language
Olá pessoal, estou pensando em escrever sobre SQL aqui no TabNews. Acredito que a maioria aqui saiba fazer uma query simples porém, não tenho certeza se todos entendem mais a fundo o que acontece de baixo dos panos. Meu objetivo é tentar trazer algo mais aprofundado. Espero que gostem.
Ordem de execução
A ordem de execução de uma query é a seguinte:FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
Basicamente funciona em 3 partes.
-
FILTRANDO LINHAS (1ª fase): consiste na execução das cláusulas FROM, WHERE, GROUP BY e HAVING.
-
FILTRANDO COLUNAS: consiste na execução da cláusula SELECT.
-
FILTRANDO LINHAS (2ª fase): consiste na execução das cláusulas DISTINCT, ORDER BY e LIMIT.
Ou seja, parte 1 entende qual tabela quer, quais linhas de cada coluna, qual agrupamento e qual o filtro desse agrupamento. Ja na parte 2 ele vai entender quais colunas você quer no resultado e por fim na parte 3 se quer duplicadas, em qual ordem e o máximo de linhas.
Próximos posts serão para distrinchar cada cláusula. Valeu!