我正在使用SQL中的关联子查询和不相关子查询,并试图在这两种类型的查询中获得相同的结果。我的问题是我的不相关子查询。查询将运行,但不返回任何结果。我的相关子查询确实返回结果,就像它应该返回的结果一样。我需要帮助,试图找出我的简单不相关子查询是否写错了。任何帮助都是非常感谢的。我的问题如下:SELECT *
FROM hr.bc
EMPLOYEE AS E2 AND E1.DeptPhone <> E2.DeptPhone);
因此,当我阅读此查询时因为EXISTS是一个相关子查询,所以我还选择了departments (从E1)和DeptPhone (也来自E1),但我只选择了使用我的子查询的部门。换句话说,我显示的是部门(电话号码与E1不同,但部门名称与E1相同)和来自E1的DeptPhone。我没看错
相关子查询在中的应用
IBM Netezza既支持常规子查询,也支持相关子查询。每当Netezza遇到一个常规子查询时,它就会将子查询预先计算一次,作为SubQuery中的示例。当系统在WHERE限制中遇到相关子查询时,它会在内部将它们转换为等效的连接格式,如关联子查询中的第二个示例所示。如果选择使用关联子查询,请记住以下对相关子查询的形式和位置