1248

报错场景

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

原文地址:https://www.cnblogs.com/windowsxpxp/p/12454220.html