拥有同一分支机构的员工是彼此的同事。您需要编写一个查询,该查询可以为您提供empid x的同事,并且同事列表不应包括use x本人。
示例-如果x=4,则结果应为Empid 1和5。
注意-必须只使用一个查询。不允许嵌套查询或子查询。
员工表
EmpId | 分支 |
---|---|
1 | 德里 |
2 | 孟买 |
3 | 孟买 |
4 | 德里 |
5 | 德里 |
6 | JAIPUR |
7 | JAIPUR |
一种方法是使用JOIN:
select b1.empid
from employee b1
join employee b2 on b1.branch = b2.branch
where b1.empid <> 4
and b2.empid = 4
如果一个雇员可以在branch
表中出现多次,则需要一个distinct
来消除重复项。
我个人认为使用EXISTS和子查询的查询是更好的解决方案。限制";无子查询";对我来说似乎有点不现实。