from employee e
join employee e1 on e.dept = e1.dept
where e.id <> e1.id and e1.ename = 'Jack Abraham'
这是我用于SQL的特定代码,工作正常,我无法理解为什么当我希望员工不应该是“ Jack Abraham”时,为什么在特定代码中使用name =“ Jack Abraham”。请清除我的疑问
答案 0 :(得分:1)
SQL查询的想法是:
Jack Abraham
( e1 )的记录Jack Abraham
但不是Jack Abraham
在同一部门的员工( e :相同的dept
但不同的{{1} })。因此,该查询不仅可以获取姓名不是您所想的id
的员工。
要获得所有名字不是Jack Abraham
,但其部门有名叫Jack Abraham
的雇员。
但是,即使一个部门有2名同名Jack Abraham
的人,即使这也不是正确的查询。应该是:
Jack Abraham
因此,您可以尝试询问编写该查询的人的真实意图。 或者,您可以要求BA获得要求并重写查询。