Every derived table must have its own alias
这句话的意思是说每个派生出来的表都必须有一个自己的别名
一般在多表查询时,会出现此错误。
因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名
例如下面的MY SQL 语句
select e.* ,ifnull(num,0) from Author e
left join
(select AuthorID,count(*) num from Book b group by AuthorID
) B ON e.AuthorID=B.AuthorID
添加完别名即可消除上述错误的问题
上述SQL语句是一个左连接查询,以左边表为主,外链接查询就是显示左表的所有字段,同时输出不在筛选序列的字段,根据ifnull函数将空的num转为0