Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我很难理解EXISTS子句的这个例子_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 我很难理解EXISTS子句的这个例子

Sql 我很难理解EXISTS子句的这个例子,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,因此,当我阅读这个查询时,我认为我正在从表E2中选择与E1中的部门相同的部门,这些部门也有不同的电话号码 因为EXISTS是一个相关的子查询,所以我也从E1中选择了部门,从E1中选择了DeptPhone,但我只选择了使用我的子查询的部门 换句话说,我显示的部门与E1没有相同的电话号码,但与E1有相同的部门名称,以及E1的部门电话。我读对了吗 您正在显示所有部门,其中有另一条记录具有相同的部门名称,但电话号码不同。例如,您显示的所有部门都有一个以上的电话号码。您显示的所有部门都有另一条记录,该记录

因此,当我阅读这个查询时,我认为我正在从表E2中选择与E1中的部门相同的部门,这些部门也有不同的电话号码

因为EXISTS是一个相关的子查询,所以我也从E1中选择了部门,从E1中选择了DeptPhone,但我只选择了使用我的子查询的部门


换句话说,我显示的部门与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);