![](https://csdnimg.cn/release/download_crawler_static/86350778/bg4.jpg)
mysql> explain select id from (select id from film) as der;
这个查询执行时有个临时表别名为 der,外部 select 查询引用了这个临时表
3)union 查询
mysql> explain select 1 union all select 1;
union 结果总是放在一个匿名临时表中,临时表不在 SQL 中出现,因此它的 id 是 NULL。
2. select_type 列
select_type 表示对应行是简单还是复杂的查询,如果是复杂的查询,又是上述三种复杂查询
中的哪一种。
1)simple:简单查询。查询不包含子查询和 union
mysql> explain select * from film where id = 2;
2)primary:复杂查询中最外层的 select
3)subquery:包含在 select 中的子查询(不在 from 子句中)
4)derived:包含在 from 子句中的子查询。MySQL 会将结果存放在一个临时表中,也称为
派生表(derived 的英文含义)
用这个例子来了解 primary、subquery 和 derived 类型
mysql> explain select (select 1 from actor where id = 1) from (select * from
film where id = 1) der;