MySQL派生表
Posted 面具下的戏命师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL派生表相关的知识,希望对你有一定的参考价值。
MySQL派生表
派生表是查询结果组成的虚拟表。派生表是在外部查询的FROM子句中定义的,不需要手动创建。只要外部查询一结束,派生表也就不存在了。派生表可以简化查询,避免使用临时表。相比手动生成临时表性能更优越。
例如:
SELECT * FROM ( SELECT * FROM t1 ) tmp
如上所示,temp就是派生表。需要注意的是,mysql派生表必须有别名。这与其他数据库不同,例如oracle数据库就不需要别名。如果没有别名,MySQL会报错
ERROR 1248 (42000): Every derived table must have its own alias
派生出来的表必须是一个有效的表,它有如下特征:
1、所有列必须要有名称,出现无列名的要重命名
2、列名称必须是要唯一,相同名称肯定是不允许的
3、不允许使用ORDER BY(除非指定了TOP)
以上是关于MySQL派生表的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:1248。每个派生表都必须有自己的别名 没有找到查询的解决方案