sql 中 如:a.xxx=b.xxx(+)与a.xxx=b.xxx有什么区别啊? 能解释的详细点吗??

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:34:10
什么时候会用到这种情况啊?或者什么时候要用这种情况啊?如何判断?

1、a.xxx=b.xxx:a表与b表的xxx字段相等,条件为真,记录被选中。
2、a.xxx=b.xxx(+):a表与b表的xxx字段相等的记录被选中;b表有且a.表无(null)的记录也被选中。

b表中有的,a表中也有的用1
b表中有,a表中也有或空用2
例子:
a表 b表
f1 f2 f1 f2
1 a 1 a
2 b 2 b
4 c 3 c
5 d 4 d
5 e
where a.xxx=b.xxx: 4条记录
where a.xxx=b.xxx(+):5条记录。其中一条,选定的a表记录为空。

a.xxx = b.xxx 是仅当a.xxx = b.xxx时(是判断语句)。

a.xxx=b.xxx(+)是仅当a.xxx = b.xxx时,取出b表中的值于a表中的值得进行左连接。

不明白再问我,谢谢!