Sql 我很难理解EXISTS子句的这个例子
因此,当我阅读这个查询时,我认为我正在从表E2中选择与E1中的部门相同的部门,这些部门也有不同的电话号码 因为EXISTS是一个相关的子查询,所以我也从E1中选择了部门,从E1中选择了DeptPhone,但我只选择了使用我的子查询的部门Sql 我很难理解EXISTS子句的这个例子,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,因此,当我阅读这个查询时,我认为我正在从表E2中选择与E1中的部门相同的部门,这些部门也有不同的电话号码 因为EXISTS是一个相关的子查询,所以我也从E1中选择了部门,从E1中选择了DeptPhone,但我只选择了使用我的子查询的部门 换句话说,我显示的部门与E1没有相同的电话号码,但与E1有相同的部门名称,以及E1的部门电话。我读对了吗 您正在显示所有部门,其中有另一条记录具有相同的部门名称,但电话号码不同。例如,您显示的所有部门都有一个以上的电话号码。您显示的所有部门都有另一条记录,该记录
换句话说,我显示的部门与E1没有相同的电话号码,但与E1有相同的部门名称,以及E1的部门电话。我读对了吗 您正在显示所有部门,其中有另一条记录具有相同的部门名称,但电话号码不同。例如,您显示的所有部门都有一个以上的电话号码。您显示的所有部门都有另一条记录,该记录具有相同的部门名称,但电话号码不同。也就是说,您正在显示具有多个电话号码的所有部门。否。如果存在具有不同电话号码的一个或多个相同部门,您将从E1中选择所有行。否。如果存在具有不同电话号码的一个或多个相同部门,您将从E1中选择所有行。这更有意义。谢谢你,这更有意义。谢谢。所以,这个部分:其中E1.Department=E2.Department和E1.DeptPhone E2.DeptPhone;正在选择具有不同电话号码的部门。因此,LandscapingDept1=LandscapingDept2,但landscapingphone 1和landscapingphone 2。然后,如果有任何东西符合该标准,这就是为什么autor使用EXISTS子句,那么该信息就会显示出来。也就是说,我正在显示具有多个电话号码的部门名称及其电话号码。我现在明白了。谢谢我仍在学习如何阅读好查询。因此,本节:其中E1.Department=E2.Department和E1.DeptPhone E2.DeptPhone;正在选择具有不同电话号码的部门。因此,LandscapingDept1=LandscapingDept2,但landscapingphone 1和landscapingphone 2。然后,如果有任何东西符合该标准,这就是为什么autor使用EXISTS子句,那么该信息就会显示出来。也就是说,我正在显示具有多个电话号码的部门名称及其电话号码。我现在明白了。谢谢我还在学习如何很好地阅读查询。
SELECT E1.Department, E1.DeptPhone
FROM EMPLOYEE AS E1
WHERE EXISTS
(SELECT E2.Department
FROM EMPLOYEE AS E2
WHERE E1.Department = E2.Department
AND E1.DeptPhone <> E2.DeptPhone);