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

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

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

报错信息如下:
1248|1248 - Every derived table must have its own alias报错的解决办法
文章图片
解决办法 【1248|1248 - Every derived table must have its own alias报错的解决办法】这个报错的意思是每个派生表必须有自己的别名。就是说每个子查询出来的表要取别名。回看刚刚报错的SQL语句,子查询出来的表的确是没有取别名,将别名加上,报错就没了。
这是修改后的正确写法:
SELECT COUNT(*) 部门个数 FROM ( SELECT COUNT(*) FROM employee GROUP BY department ) AS d;

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

    推荐阅读