内外连接
连接可以分为内连接和外连接
内连接和外连接的区别:
1、连接结果不同,内连接的连接结果仅包含符合连接条件的行,而外连接的连接结果包含了符合连接条件的行;
2、外连接左表和右表不受限制,有空值的会进行相应的保留操作。
示例:

表R(属性组为A,B,C)

表S(属性组为C,D)
若是内连接,因为表S连接后存在空值,因此G后面的会被忽略
得到的结果如下:

但如果是外连接
外连接又分为:
- 左外连接
- 右外连接
- 全外连接
右外连接示例结果如下:

易见,右外连接对右侧为空值的元组(表S)进行了保留,同理左外连接则是对左边的元组(表R)进行保留,全外连接则是对两个列表中的空值都进行保留操作。
条件,等值和自然连接
连接按照连接方式,还可以分为条件连接,等值连接和自然连接
条件连接
条件连接有时也叫做θ连接
条件连接可以理解为,先将两张表做一个笛卡尔积,然后再在其中使用特定的条件将有意义的组合选择出来
| A | B |
|---|---|
| a | 1 |
| b | 2 |
表 R
| H | C |
|---|---|
| 1 | X |
| 1 | Y |
| 3 | Z |
表 S
θ连接的条件为:B<=H
所以连接结果为:

等值连接
等值连接只是条件连接的特例而已,例如B=H
所以连接结果为:

自然连接
自然连接 = 等值连接+去除重复属性组
博客主要介绍数据库连接类型,包括内外连接和条件、等值、自然连接。内连接结果仅含符合条件行,外连接分左、右、全外连接,会保留空值行;条件连接先做笛卡尔积再选有意义组合,等值连接是其特例,自然连接是等值连接加去除重复属性组。

被折叠的 条评论
为什么被折叠?



