1WHERE descarta filas individuales:Actúa sobre las filas crudas, antes de agrupar nada
2HAVING descarta grupos completos:Filtra usando los totales ya calculados de cada grupo
3ORDER BY acomoda el resultado final:El último paso: solo ordena lo que ya quedó armado
4SELECT decide qué columnas mostrar:Aquí se crean los alias, ya con los grupos y filtros resueltos
5GROUP BY junta las filas que quedaron en grupos:Solo agrupa lo que ya sobrevivió al WHERE
6FROM decide de qué tabla salen los datos:El primer paso: sin tabla no hay nada que procesar