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 34 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