Mysql报错:Every derived table must have its own alias <缺少一个别名>
在子查询中经常会犯的错误 。这个别名其实没啥用途.... 但是必须要加上不然就会报错。
select name,class from (select * from teacher) as stuname...... ## as 可以忽略;studname就是子查询的别名。
在进行嵌套查询的时候子查询出来的的结果是作为一个派生表来便以上一级查询的,所以子查询的结果就得有一个别名。
select d.deptno,ename,deptname
from (
select deptno,ename from (
select e1.deptno,e1.empname ename,e1.hiredate h1,e2.empname mgr_name,e2.hiredate h2 from emp e1
inner join emp e2 on(e1.mgr=e2.empno)
) as d1 where h1<h2
) as d2 inner join dept d using(deptno);