目录
- 一、select_type类型有哪些
- 二、SIMPLE 类型
- 三、PRIMARY类型举例
- 四、SUBQUERY类型举例
- 五、DERIVED类型举例
- 六、UNION类型举例
- 七、UNION RESULT类型举例
- 八、DEPENDENT SUBQUERY类型举例
一、select_type类型有哪些
| 序号 | select_type 类型 | 含义 |
|---|---|---|
| 1 | SIMPLE | 简单的 select 查询,查询中不包含子查询或者UNION |
| 2 | PRIMARY | 查询中若包含任何复杂的子部分,最外层查询则被标记为Primary |
| 3 | SUBQUERY | 在SELECT或WHERE列表中包含了子查询 |
| 4 | DERIVED | 在FROM列表中包含的子查询被标记为DERIVED(衍生);MySQL会递归执行这些子查询, 把结果放在临时表里。 |
| 5 | UNION | 若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED |
| 6 | UNION RESULT | 从UNION表获取结果的SELECT |
| 7 | DEPENDENT SUBQUERY | 在SELECT或WHERE列表中包含了子查询,子查询基于外层 |
| 8 | UNCACHEABLE SUBQUREY | 无法被缓存的子查询 |
二、SIMPLE 类型
- 简单的 select 查询,查询中不包含子查询或者UNION
三、PRIMARY类型举例
- 查询中若包含任何复杂的子部分,最外层查询则被标记为Primary
四、SUBQUERY类型举例
- 在SELECT或WHERE列表中包含了子查询
五、DERIVED类型举例
- 在FROM列表中包含的子查询被标记为DERIVED(衍生);MySQL会递归执行这些子查询, 把结果放在临时表里。
六、UNION类型举例
- 若第二个SELECT出现在UNION之后,则被标记为UNION;若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED
七、UNION RESULT类型举例
- 从UNION表获取结果的SELECT
八、DEPENDENT SUBQUERY类型举例
-
在SELECT或WHERE列表中包含了子查询,子查询基于外层
-
dependent subquery 与 subquery 的区别
依赖子查询 : 子查询结果为 多值
子查询:查询结果为 单值
