我是靠谱客的博主 安静玫瑰,最近开发中收集的这篇文章主要介绍数据库连接运算连接运算,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、定义

  • 连接 Join:连接一般定义为 R ∞ S A θ B underset{A theta B}{R infty S} AθBRS,其中 ∞ infty 表示连接运算符, θ theta θ 为比较运算符, A θ B Atheta B AθB 是条件表达式。含义是 R R R S S S 的笛卡尔积 R × S R times S R×S 中选取 R R R 关系在 A A A 属性组上的值与 S S S 关系在 B B B 属性组上的值满足比较关系 θ θ θ 的元组
  • 等值连接 Equijoin比较运算符 θ theta θ = = = 的连接运算称为等值连接,它是从关系 R R R S S S 的广义笛卡尔积中选取 A A A B B B 属性值相等的那些元组。
  • 自然连接 Natural Join:自然连接是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是同名的属性组,并在结果中把重复的属性列去掉
  • 外连接 Outer Join:如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值,这种连接就叫做外连接。
  • 左外连接 Left Outer JoinLeft Join:如果只把左边关系 R R R 中要舍弃的元组保留就叫做左外连接。
  • 右外连接 Right Outer JoinRight Join:如果只把右边关系 S S S 中要舍弃的元组保留就叫做右外连接。
  • 交叉连接 Cross Join:交叉连接返回被连接的两个表所有数据行的笛卡尔积,返回的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

交叉连接得到的是两张表数据的乘积,所以以下两种写法是等价的:

SELECT * FROM XS, KC;
SELECT * FROM XS CROSS JOIN KC;

二、示例

关系R:

ABC
a1b15
a1b26
a2b38
a2b412

关系S:

BE
b13
b27
b310
b32
b52

R与S的等值连接

AR.BCS.BE
a1b15b13
a1b26b27
a2b38b310
a2b38b32

R与S的自然连接

ABCE
a1b153
a1b267
a2b3810
a2b3182

R与S的外连接

ABCE
a1b153
a1b267
a2b3810
a2b382
a2b412NULL
NULLb5NULL2

R与S的左外连接

ABCE
a1b153
a1b267
a2b3810
a2b382
a2b412NULL

R与S的右外连接

ABCE
a1b153
a1b267
a2b3810
a2b382
NULLb5NULL2

在这里插入图片描述

最后

以上就是安静玫瑰为你收集整理的数据库连接运算连接运算的全部内容,希望文章能够帮你解决数据库连接运算连接运算所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部