sql中select是什么意思
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小时内删除。