使用嵌套语句查阅,第一次写成这样:
select * from select name,salary from emp1 order by salary desc limit 3;
发觉有报错信息:
Error Code: 1248. Every derived table must have its own alias
查阅意思才知道:原来在用进行嵌套查询的时候,子查询执行出来的的结果(select name,salary from emp1 order by salary desc)是需要作为一个派生表来给上一级进行查询使用的,所以子查询的结果必须要重命名一个别名(as tttt )
将其改为如下方才可以:
select * from (select name,salary from emp1 order by salary desc) as tttt limit 3;
问题才顺利解决,又踩一个坑,还有啥方法可以实现同样的效果吗?