报错场景
我前几天在学习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 + 别名 或者是 空格加别名