sql语句 后面的(+) 是什么意思 select * from t1,t2 where t1.a=t2.b(+)

好像是两表联合查询的外联接问题,哪位帮忙解释一下?
2024-11-13 16:51:05
推荐回答(5个)
回答1:

外连接。就是以t1为主表,如果t2有符合b = t1.a的条件的数据,会选出t2的行,而如果没有,则后边会得到一个空行。
例如t1表数据 a列 1 t2表b 1
2 3
3 4
那你select 的结果为 1, 1
2, NULL
3, 3
以上三行

回答2:

外连接。就是以t1为主表,如果t2有符合b
=
t1.a的条件的数据,会选出t2的行,而如果没有,则后边会得到一个空行。
例如t1表数据
a列
1
t2表b
1
2
3
3
4
那你select
的结果为
1,
1
2,
NULL
3,
3
以上三行

回答3:

这是左连接的查询语句,左连接说明等号左侧的所有记录均会被显示,无论其在右侧是否得到匹配。

回答4:

外连接的话用*= 和=* or left join 和right join

t1.a=t2.b(+) 应该是字段名为b(+)

回答5:

t a,b,c,null d from t1
union all
select null a,b,c,d from t2) t