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中必须给子查询的结果取个别名