当前位置: 首页 > 编程笔记 >

DB2中CORRELATED和UNCORRELATED子查询之间的区别

袁山
2023-03-14
本文向大家介绍DB2中CORRELATED和UNCORRELATED子查询之间的区别,包括了DB2中CORRELATED和UNCORRELATED子查询之间的区别的使用技巧和注意事项,需要的朋友参考一下

子查询是一个嵌套查询。当此子查询仅执行一次并且此子查询的结果用于提取主查询中的数据时,这种子查询称为UNCORRELATED子查询。另一方面,当子查询每次执行都引用主查询时,则该子查询称为CORRELATED子查询。

例如,如果我们要从ORDERS表中提取所有ORDER_TOTAL大于总体平均值的订单,则可以使用下面的UNCORRELATED子查询。

示例

SELECT ORDER_ID FROM ORDERS WHERE ORDER_TOTAL > (SELECT AVG(ORDER_TOTAL) FROM ORDERS)

有一个DB2表ORDER_CHANNEL,其中存储可以通过其下订单的渠道,例如在线,代理商,AFFILIATE等。

如果要提取每个通道的最大数量的订单,则将使用下面的CORRELATED子查询。

示例

SELECT ORDER_ID, ORDER_CHANNEL, ORDER_TOTAL
   FROM ORDERS T1
WHERE ORDER_TOTAL IN (SELECT MAX (T2.ORDER_TOTAL)
   FROM ORDERS T2 WHERE
   T1.ORDER_CHANNEL_ID = T2.CHANNEL_ID
   GROUP BY T2.CHANNEL_ID)
 类似资料:
  • 问题内容: 请任何人告诉我Hive SQL和查询之间的区别 问题答案: Hive支持SORT BY,可对每个reducer的数据进行排序。“ order by”和“ sort by”之间的区别在于,前者保证输出中的总顺序,而后者仅保证精简器中行的排序。如果存在多个减速器,则“排序依据”可能会给出部分排序的最终结果。 注意:关于单个列的单独SORT BY与CLUSTER BY之间的区别可能会造成混淆

  • 问题内容: 我仍然生活在这种模糊性中:从概念上讲,SQL中的 语句 和 查询 之间有什么区别?谁能给每个人一个定义?这将很有用,例如,当在程序中以每个人都清楚的方式选择变量名称时。谢谢! 另外: 我如何调用由多个语句组成的SQL代码块,其中语句之间用分号()分隔?谁已经答复可以编辑他的答案。非常感谢! 问题答案: 一个 说法 是,数据库引擎识别为一个有效的命令的任何文字。截至: SQL语句是一个字

  • 问题内容: 查询,本机查询,命名查询和类型查询之间有什么区别?“独立”查询是否存在,还是只是缩写?在我看来,本机查询是用简单sql编写的查询,而命名查询与实体(hibernate映射)有关。有人可以简要解释一下吗? 问题答案: 询问 查询是指JPQL / HQL查询,其语法类似于通常用于执行DML语句(CRUD操作)的SQL。 在JPA中,您可以使用创建查询。您可以查看API以获得更多详细信息。

  • 问题内容: 简单的说,我总是对PHP / MySQL缓冲查询和非缓冲查询之间的区别是,缓冲(默认)将所有数据加载到结果集变量中, 然后 您可以开始使用它们,而无缓冲则在以下位置加载行:一个时间。 假设您先运行然后进行了,它将包含所有行和补充信息,例如行数。因此,如果您在100MB的数据库上执行此操作,那么如果那里没有索引,则可能会占用约100MB的空间)。 但是,我遇到了这样的SO溢出问题,其中一

  • 问题内容: 我已经阅读了文档,但是仍然很难理解使用之间的区别 要么 他们是否都不能确保选择随机值的过程在整个运行过程中是相同且一致的? 问题答案: 重置作为名称空间中函数基础的现有全局实例的状态。 返回一个新的种子实例,但不做任何改变。您必须使用返回的实例来获取一致的伪随机数。如果在命名空间中使用这些函数,则不会获得一致的伪随机数,因为它们是从与刚创建的实例不同的实例中提取的。 如果您关心可重现性

  • 我对这两种数据类型非常着迷。根据Oracle文档,它们如下所示: BLOB:长度可变的二进制大对象字符串,最长可达2GB(2,147,483,647)长。主要用于保存非传统数据,如语音或混合媒体。BLOB字符串不与字符集相关联,就像FOR BIT数据字符串一样。 CLOB:可变长字符的大型对象字符串,最长可达2GB(2,147,483,647)长。CLOB可以存储单字节字符串或基于字符的多字节数据