1248 - Every derived table must have its own alias报错的解决办法

报错场景

我前几天在学习MySQL的时候,写了以下的SQL语句

SELECT COUNT(*) 部门个数 
FROM (
	SELECT COUNT(*) FROM employee GROUP BY department
);

报错信息如下:

解决办法

这个报错的意思是每个派生表必须有自己的别名。就是说每个子查询出来的表要取别名。回看刚刚报错的SQL语句,子查询出来的表的确是没有取别名,将别名加上,报错就没了。

这是修改后的正确写法:

SELECT COUNT(*) 部门个数 
FROM (
	SELECT COUNT(*) FROM employee GROUP BY department
) AS d;

如果该子查询后续不需要用到,则随便取个别名就可以了,可以AS + 别名 或者是 空格加别名

posted @ 2020-03-10 10:38  Windows_XP  阅读(577)  评论(0编辑  收藏  举报