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

DB2中INNER和OUTER JOIN的用法和语法

王岳
2023-03-14
本文向大家介绍DB2中INNER和OUTER JOIN的用法和语法,包括了DB2中INNER和OUTER JOIN的用法和语法的使用技巧和注意事项,需要的朋友参考一下

问题:如何借助ORDERS和TRANSACTION DB2表上的示例来解释INNER JOIN和OUTER JOIN。

JOIN用于合并DB2中一个或多个表中的数据。JOIN有两种主要类型-INNER JOIN和OUTER JOIN。它们之间的基本区别是,INNER JOIN是两个或多个表的交集,而外部联接是两个或多个表的并集。基本上,INNER JOIN用于使用相等的列值组合来自多个表的数据,另一方面,在OUTER JOIN的情况下,如果列值不相等,则该行也将显示为NULL值。

例如,考虑下表。

订单

ORDER_ID
订购日期
TRANSACTION_ID
A11243
2020年10月8日
Z67899
A22178
2020年11月11日
Z67009

交易

TRANSACTION_ID
交易日期
Z67899
2020年11月11日
Z67674
2020年7月8日

对于INNER JOIN,我们将使用以下查询。

示例

SELECT ORDER_ID, TRANSACTION_ID FROM
   ORDERS FULL OUTER JOIN TRANSACTIONS ON
   ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID
ORDER_ID
TRANSACTION_ID
A11243
Z67899

对于OUTER JOIN,我们将使用以下查询。

示例

SELECT ORDER_ID, TRANSACTION_ID FROM
   ORDERS FULL OUTER JOIN TRANSACTIONS ON
   ORDERS.TRANSACTION_ID = TRANSACTIONS.TRANSACTION_ID
ORDER_ID
TRANSACTION_ID
A11243
Z67899
A22178
空值
空值
Z67674
 类似资料:
  • 本文向大家介绍DB2中SEQUENCE的用法和语法是什么?,包括了DB2中SEQUENCE的用法和语法是什么?的使用技巧和注意事项,需要的朋友参考一下 序列用于自动生成唯一ID。我们可以将DB2表中的列定义为SEQUENCE类型。这将使DB2能够为表中插入的每个新行自动生成唯一的ID。DB2生成的自动ID在整个数据库中保持唯一。 例如,SEQUENCE的实际实现是在为北,东,西和南每个区域分配了单

  • 问题内容: 我通常对JOINS十分熟悉,但这是新的。 假设三个表(两个表的典型情况和第三个链接器表): (出于简化目的,我无法复制实际的结构,这不是我的代码。) 通常,要获得“谁在什么时候买了什么”的表格,我可以这样做: 但是我已经看到了这个: 这是什么?只是另一种语法,还是一种性能技巧? (它在SQLServer,FYI上,但是大概可以应用于其他…) 问题答案: 括号不会改变语义。子句的位置控制

  • null 1489682525237,5,DB2 JDBC select,42601-104,“com.ibm.DB2.jcc.am.sqlsyntaxerrorexception:DB2 SQL错误:sqlcode=-104,sqlstate=42601,sqlerrmc=;;from test.testtable;end-of-statement,driver=4.16.53”,DB2线程组1

  • 问题内容: 我正在开发Java Web服务,当从IBM中型机(AS400)上的DB2数据库中获取大数据集时,允许分页。 例如; 如果数据集中有10000条记录,我想一次以1000个块的形式获取它们。 我发现这篇文章解释说我可以使用LIMIT和OFFSET。但是我需要将变量设置为。 现在,我一直在谷歌搜索,看到您可以使用来设置此变量。但是我无法找出在哪里键入此命令? 我正在Windows机器上进行开

  • 本文向大家介绍sqlserver中drop、truncate和delete语句的用法,包括了sqlserver中drop、truncate和delete语句的用法的使用技巧和注意事项,需要的朋友参考一下 虽然小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方。 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄

  • 问题内容: 嗨,我正在尝试找出如何使用以下查询插入新记录的方法: 到目前为止,我的查询是: 但是,我不确定使用左联接和内联接时该怎么做。 所以我想做的是这样的: 表: 还有桌子 更新 是这样的吗? 问题答案: 您必须具体说明要选择的列。如果表有四列,则必须从查询中准确选择这四列。语法如下: 但是,似乎没有任何理由反对此处,因为该表中的任何列都不会插入。实际上,这似乎因主键唯一性冲突而失败。 MyS