DB2
内连接查询返回连接表中符合连接条件和查询条件的数据行,下面就详细介绍
DB2
内连接查询的方法:
DB2 内连接查询 (INNER JOIN) :
DB2 内连接查询有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。 ( 所谓的链接表就是数据库在做查询形成的中间表 ) 。
例如:下面的语句 3 和语句 4 的结果是相同的。
语句 3 :隐式的内连接,没有 INNERJOIN ,形成的中间表为两个表的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C,ORDERS O
WHERE C.ID=O.CUSTOMER_ID;
语句 4 :显示的内连接,一般称为内连接,有 INNERJOIN ,形成的中间表为两个表经过 ON 条件过滤后的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C INNER JOIN ORDERS O ONC.ID=O.CUSTOMER_ID;
语句 3 和语句 4 的查询结果:
外连接 (OUTER JOIN) :
外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外连接分三类:左外连接 (LEFTOUTER JOIN) 、右外连接 (RIGHTOUTER JOIN) 和全外连接 (FULLOUTER JOIN) 。
三者的共同点是都返回符合连接条件和查询条件 ( 即:内连接 ) 的数据行。不同点如下:
左外连接还返回左表中不符合连接条件单符合查询条件的数据行。
右外连接还返回右表中不符合连接条件单符合查询条件的数据行。
全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合连接条件单符合查询条件的数据行。全外连接实际是上左外连接和右外连接的数学合集 ( 去掉重复 ) ,即 “ 全外 = 左外 UNION 右外 ” 。
说明:左表就是在 “(LEFTOUTER JOIN)” 关键字左边的表。右表当然就是右边的了。在三种类型的外连接中, OUTER 关键字是可省略的。
DB2 内连接查询 (INNER JOIN) :
DB2 内连接查询有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行。 ( 所谓的链接表就是数据库在做查询形成的中间表 ) 。
例如:下面的语句 3 和语句 4 的结果是相同的。
语句 3 :隐式的内连接,没有 INNERJOIN ,形成的中间表为两个表的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C,ORDERS O
WHERE C.ID=O.CUSTOMER_ID;
语句 4 :显示的内连接,一般称为内连接,有 INNERJOIN ,形成的中间表为两个表经过 ON 条件过滤后的笛卡尔积。
SELECT O.ID,O.ORDER_NUMBER,C.ID,C.NAME
FROM CUSTOMERS C INNER JOIN ORDERS O ONC.ID=O.CUSTOMER_ID;
语句 3 和语句 4 的查询结果:
外连接 (OUTER JOIN) :
外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外连接分三类:左外连接 (LEFTOUTER JOIN) 、右外连接 (RIGHTOUTER JOIN) 和全外连接 (FULLOUTER JOIN) 。
三者的共同点是都返回符合连接条件和查询条件 ( 即:内连接 ) 的数据行。不同点如下:
左外连接还返回左表中不符合连接条件单符合查询条件的数据行。
右外连接还返回右表中不符合连接条件单符合查询条件的数据行。
全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合连接条件单符合查询条件的数据行。全外连接实际是上左外连接和右外连接的数学合集 ( 去掉重复 ) ,即 “ 全外 = 左外 UNION 右外 ” 。
说明:左表就是在 “(LEFTOUTER JOIN)” 关键字左边的表。右表当然就是右边的了。在三种类型的外连接中, OUTER 关键字是可省略的。