结论:
left join以左表为参照物,返回包含左表中全部记录和右表中跟左表中字段对的上的所有数据,因此若是出现左表中有,但是右表中数据没有对应的情况,结果中也会将这部分数据展示出来,也就是说左表中的数据都会展示出来;
right join以右表为参照物,返回包含右表中的全部记录和左表中跟右表中字段对的上的所有数据,也就是说右表中的数据都会展示出来;
inner join是等值连接,返回的是两个表中能对应上的数据,不太恰当的比喻是,取的两表的交集.

MySQL中left join、right join与inner join的区别

1、数据库

1.1、作者表

 

1.2、图书表

1.3、出版社表

2、left join

  left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录。

2.1、sql语句

select * from app01_publisher left join app01_book on app01_publisher.id = app01_book.publish_id

 

2.2、查询结果

3、right join

  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录。

3.1、sql语句

select * from app01_publisher right join app01_book on app01_publisher.id = app01_book.publish_id

 

3.2、查询结果

4、innner join

  inner join(等值连接) 只返回两个表中联结字段相等的行。

4.1、sql语句

select * from app01_publisher inner join app01_book on app01_publisher.id = app01_book.publish_id

 

4.2、查询结果

 

分类: Database, MySQL
0
0
« 上一篇: Django中decorators装饰器的使用
» 下一篇: css基础
	</div>
	<div class="postDesc">posted @ <span id="post-date">2018-10-15 00:32</span> <a href="https://www.cnblogs.com/bad-robot/">RobotsRising</a> 阅读(<span id="post_view_count">1055</span>) 评论(<span id="post_comment_count">0</span>)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=9788959" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(9788959);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=441549,cb_entryId=9788959,cb_blogApp=currentBlogApp,cb_blogUserGuid='dcc651cf-b452-47b1-4c55-08d5ddce222f',cb_entryCreatedDate='2018/10/15 0:32:00';loadViewCount(cb_entryId);var cb_postType=1;var isMarkdown=false;</script>

转载自:https://www.cnblogs.com/bad-robot/p/9788959.html

Logo

更多推荐