1.情景展示

使用mysql对派生表查询数据的时候,报错信息如下:

Every derived table must have its own alias

使用谷歌翻译成中文:每个派生表都必须有自己的别名。

2.具体分析

因为习惯使用了Oracle,在Oracle当中,对于派生表的查询,如果我们不需要通过拿到派生表当中的数据,是不需要对表起别名的。

查看代码

SELECT COUNT(1) totalCount
FROM (SELECT 1
FROM healthexam_catalog t
WHERE T.Last_Update_Dtime >= to_date('2022-02-07', 'yyyy-mm-dd')
AND T.Last_Update_Dtime < to_date('2022-02-07', 'yyyy-mm-dd') + 1
GROUP BY t.org_code)

mysql 报错:Every derived table must have its own alias_解决方案

 

但是,在mysql当中,不管你用不用派生表当中的字段,必须给派生表起个别名;

首先,我举动mysql的这个语法校验是多余的,我又不用,对吧,凭什么非得让我起个别名,

但,我们也没有别的办法,必须屈服于它的淫威之下。 

3.解决方案

给派生表起别名

mysql 报错:Every derived table must have its own alias_mysql_02

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!


作者:Marydon