inner join,left join,right join,full join区别

select * from a;

编号 姓名
---- ----------
1000 张三
2000 李四
3000 王五


select * from b;

编号 商品
---- ----------
1000 电视机
2000 录像机
4000 自行车


set null 空值--这里为了显示方面我把NULL定义成了[空值]


select a.*,b.* from a inner join b on a.编号=b.编号;

编号 姓名       编号 商品
---- ---------- ---- ----------
1000 张三       1000 电视机
2000 李四       2000 录像机


select a.*,b.* from a left join b on a.编号=b.编号;

编号 姓名       编号 商品
---- ---------- ---- ----------
1000 张三       1000 电视机
2000 李四       2000 录像机
3000 王五       空值 空值


select a.*,b.* from a right join b on a.编号=b.编号;

编号 姓名       编号 商品
---- ---------- ---- ----------
1000 张三       1000 电视机
2000 李四       2000 录像机
空值 空值       4000 自行车


select a.*,b.* from a full join b on a.编号=b.编号;

编号 姓名       编号 商品
---- ---------- ---- ----------
1000 张三       1000 电视机
2000 李四       2000 录像机
3000 王五       空值 空值
空值 空值       4000 自行车



来自: http://zhidao.baidu.com/question/113160374.html

猜你喜欢

转载自lucky16.iteye.com/blog/1627779