首先看一下示例语句
SELECT DISTINCT < select_list > FROM < left_table > < join_type > JOIN < right_table > ON < join_condition > WHERE < where_condition > GROUP BY < group_by_list > HAVING < having_condition > ORDER BY < order_by_condition > LIMIT < limit_number >
然而它的执行顺序是这样的
1 FROM <left_table> 2 ON <join_condition> 3 <join_type> JOIN <right_table> 第二步和第三步会循环执行 4 WHERE <where_condition> 第四步会循环执行,多个条件的执行顺序是从左往右的。 5 GROUP BY <group_by_list> 6 HAVING <having_condition> 7 SELECT 分组之后才会执行SELECT 8 DISTINCT <select_list> 9 ORDER BY <order_by_condition> 10 LIMIT <limit_number> 前9步都是SQL92标准语法。limit是MySQL的独有语法
来看一个例子
假设有表1和表2
table1
table2
未完待续。。。
原文:https://www.cnblogs.com/1906859953Lucas/p/10926584.html