查询出king所在部门的工作年限最大的员工名字
select e.ename 姓名
-- ,months_between(sysdate, e.hiredate) 工作时长(月)
from emp e
where months_between(sysdate, hiredate) =
(select max(months_between(sysdate, hiredate))
from emp e, dept d
where e.deptno = d.deptno
and e.deptno = (select d.deptno
from emp e, dept d
where e.deptno = d.deptno
and e.ename = 'KING'))
为什么我不注释掉第二行,程序就报错呢,说是from后面没有where语句,在线等啊
------解决方案--------------------
SQL code
,months_between(sysdate, e.hiredate) "工作时长(月)"
--要用双引号把列名引起来,这样就不会出错了,不过你的语句也有问题吧