数据库
未读
select的书写顺序和执行顺序
书写SQL查询时,开发者按SELECT、FROM、JOIN、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT/OFFSET顺序编写,但数据库引擎实际执行顺序为FROM、JOIN、WHERE、GROUP BY、HAVING、SELECT、ORDER BY、LIMIT/OFFSET,其中JOIN在FROM后立即执行,影响后续行过滤。JOIN子句在FROM后、WHERE前使用,决定参与过滤的行,不同类型(如INNER JOIN仅保留匹配行,LEFT JOIN保留左表所有行)影响结果行数。常见误区包括误认为SELECT最先执行、WHERE使用聚合函数、忽略JOIN顺序对性能的影响。