日期:2014-05-17  浏览次数:21119 次

查询出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) "工作时长(月)"
--要用双引号把列名引起来,这样就不会出错了,不过你的语句也有问题吧