sql语句中的(+)是什么意思?和左连接区别
1. Oracle 数据库
在select语句中(+)指的是外连接,是连接查询的⼀种⽅法。
例:select t1.*,t2.* from dept t1,emp t2 where t1.deptno=t2.deptno(+);
其中 : t1.deptno=t2.deptno(+)表⽰,即使t2(emp表)中不存在匹配的记录,在t1(dept表)也查询出来。
2. MySql
⼦句中的表或视图可通过内连接或完整外部连接按任意顺序指定;但是,⽤左或右向外连接指定表或视图时,表或视图的顺序很重要。有关使⽤左或右向外连接排列表的更多信息,请参见使⽤外连接。
例⼦:
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 3
4 4
a.id同parent_id 存在关系
内连接
select a.*,b.* from a inner join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
左连接(经典例⼦:学⽣表和学⽣计费表)
select a.*,b.* from a left join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
3 王武 null
右连接
select a.*,b.* from a right join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
完全连接
select a.*,b.* from a full join b on a.id=b.parent_id
结果是:
1 张3 1 23 1
2 李四 2 34 2
null 3 34 4
3 王武 null
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论