Oracle与MySQL,子查询别名

问题

在Oracle数据库中有如下语句(简化),测试运行正常,上线后在MySQL平台出现问题

select id, name from (select id, name from city)

语句拿出来在MySQL上单独执行报如下错误

SQL 错误 [1248] [42000]: Every derived table must have its own alias

意思就是MySQL中子查询的表必须给它取个别名,于是更改为

select t.id, t.name from (select id, name from city) t

也可以省略表别名,直接查询字段

select id, name from (select id, name from city) t

均运行正常。

总结

Oracle中子查询可以使用匿名表,在MySQL中必须给子查询的结果取个别名

posted @ 2021-08-03 11:03  bingbinga  阅读(897)  评论(0编辑  收藏  举报