inner join、left join、right
join、full join的区别
[TEST@ORA1]
SQL>select * from a;
编号 姓名
---- ----------
1000张三
2000李四
3000王五
[TEST@ORA1] SQL>select * from b;
编号 商品
---- ----------
1000电视机
2000录像机
4000自行车
[TEST@ORA1] SQL>set null空值--这里为了显示方面我把NULL定义成了[空值]
[TEST@ORA1] SQL>select a.*,b.* from a inner
join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000张三1000电视机
2000李四2000录像机
[TEST@ORA1] SQL>select a.*,b.* from a left
join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000张三1000电视机
2000李四2000录像机
3000王五 空值 空值
[TEST@ORA1] SQL>select a.*,b.* from a right
join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000张三1000电视机
2000李四2000录像机
空值 空值4000自行车
[TEST@ORA1] SQL>select a.*,b.* from a full
join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000张三1000电视机
2000李四2000录像机
3000王五 空值 空值
空值 空值4000自行车
以上,希望对你有所帮助。
简单明了地说,外连接分三种,即左连接(LEFT OUTER
JOIN)、右连接(RIGHT OUTER JOIN)、全连接(FULL
OUTER JOIN),下面就简单解析一下,假设有A和B两张表。1.A LEFTOUTER JOIN B表示把A表的记录都显示出来,把B表符合条件的结果集显示出来,不符合条件的用NULL表示。2.A RIGHT OUTER JOIN B表示把B表的记录都显示出来,把A表符合条件的结果集显示出来,不符合条件的用NULL表示。3.A FULL OUTER JOIN B表示把A表和B表的记录都显示出来,不符合条件的用NULL表示。