首页 > 数据库技术 > 详细

mysql left join 几个意思

时间:2017-04-08 11:08:50      阅读:291      评论:0      收藏:0      [点我收藏+]

left join 用于多表  >1个表
比如
select a.*,b.* from ta as a left join tb as b on a.aid=b.bid
咱们就以实际的代码来查看一下.

请看此链接建一个表. 
http://www.php20.com/forum.php?m ... =220&extra=page%3D1

然后执行

[SQL] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
9
-- 分类, php新闻 id=1  linux新闻 id=2  mysql新闻 id=3 其下 新闻
insert into news_class (class_name) values (‘php新闻‘),(‘Linux新闻‘),(‘Mysql新闻‘);
insert into news(title,class_id,content) values
(‘php新闻1‘,‘1‘,‘详情‘),
(‘php新闻2‘,‘1‘,‘详情‘),
(‘linux新闻1‘,‘2‘,‘详情‘),
(‘linux新闻2‘,‘2‘,‘详情‘),
(‘未知分类新闻‘,‘4‘,‘详情‘);
select a.title,a.content,b.class_name,b.id as classid from news as a left join news_class as b on a.id=b.id;



得到结果如图
<ignore_js_op>技术分享 

1.png (21.64 KB, 下载次数: 0)

下载附件

22 分钟前 上传

 



可以看出 左边表中的数据全部存在(如果右边表不存在关联,则用null填充).也就是  news表(a表) 存在. 左边也就是  sql语句中,左边先出现的表. 
再如下

[SQL] 纯文本查看 复制代码
1
select b.title,b.content,b.class_name,a.id as classid from news_class as a left join news as b on a.id=b.id;


上面左右表换过来. 结果仍然是 左边表的所有数据(右表中就算有,也不显示 ) <ignore_js_op>技术分享 




mysql left join 几个意思

原文:http://www.cnblogs.com/ghjbk/p/6681018.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!