mysql语句有子查询,语句执行顺序
时间: 2023-10-20 12:36:01 浏览: 175
MySQL执行带有子查询的语句时,会先执行子查询,然后将子查询的结果作为外部查询的条件或数据来源。具体执行顺序如下:
1. FROM子句:按照表之间的连接关系形成虚拟的表。
2. WHERE子句:按照指定条件筛选行。
3. GROUP BY子句:按照指定的列对结果进行分组。
4. HAVING子句:按照指定条件筛选分组。
5. SELECT子句:选择要查询的列。
6. DISTINCT关键字:去除重复行。
7. ORDER BY子句:按照指定的列对结果进行排序。
8. LIMIT子句:限制查询结果的行数。
在执行包含子查询的语句时,MySQL会先执行子查询,得到子查询的结果集,然后将该结果集作为外查询的条件或数据来源,再执行外查询。外查询的执行顺序与普通查询相同。
需要注意的是,子查询的执行顺序也遵循以上的规则,即先执行子查询的FROM子句、WHERE子句、GROUP BY子句、HAVING子句、SELECT子句、DISTINCT关键字、ORDER BY子句和LIMIT子句。
阅读全文