我创建了一个表员工(ename,post,salary)。在这里,我需要找到与Arjun(ename)在同一职位上工作的所有员工。
select a.ename(select b.post from employee b where b.ename like 'A%n') from employee a
上面的代码有什么问题
答案 0 :(得分:0)
我会这样做:
select ename
from employee
where post in (select post from employee where ename = 'Arjun')
答案 1 :(得分:0)
考虑创建一个子查询,该子查询产生一个可以分配给主查询的结果:
select a.ename
from employee a
where a.post = (select sub.post
from employee sub
where sub.ename like 'A%n')
我不确定你为什么使用like
选项...如果你想成为sur你只得到 Arjun 这个名字你应该写一个=
声明:
where sub.ename = 'Arjun'
此外,子查询应该只产生一行;否则Oracle会抛出“ORA-01427: single-row subquery returns more than one row
”错误。