left join、right join、inner join的区别

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner 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 自行车
上一篇:Linux下查找文件的方法


下一篇:为什么X86汇编中的mov指令不支持内存到内存的寻址?