码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 多表连接查询 inner join 和 outer join 的使用

时间:2018-04-23 12:18:52      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:角度   查询   str   多表连接   分享图片   mysql   nio   英文   user   

JOIN的含义就如英文单词“join”一样,连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。这里描述先甩出一张用烂了的图,然后插入测试数据。

技术分享图片

首先先列举本篇用到的分类(内连接,外连接,交叉连接)和连接方法(如下):

A)内连接:join,inner join

B)外连接:left join,left outer join,right join,right outer join,union

C)交叉连接:cross join

案例表:

t_users:

技术分享图片

t_department:

技术分享图片

第一种:内连接 inner join

内连接INNER JOIN是最常用的连接操作。从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。

有INNER JOIN,WHERE(等值连接),STRAIGHT_JOIN,JOIN(省略INNER)四种写法。

select d.id, d.department, t.name from t_users t
inner join t_department d on d.id = t.department_id

技术分享图片

结果说明;只去表A表和B表共同有的on 条件部分数据;

第二种:外连接 left join,left outer join ,right join, right outer join, union

1)左连接LEFT JOIN的含义就是求两个表A表和B表的交集外加左表剩下的数据。依旧从笛卡尔积的角度讲,就是先从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表A表中剩余的记录(见最后三条)。

select   t.name, t.department_id, d.department from t_users t
left join t_department d on d.id = t.department_id

技术分享图片

 

Mysql 多表连接查询 inner join 和 outer join 的使用

标签:角度   查询   str   多表连接   分享图片   mysql   nio   英文   user   

原文地址:https://www.cnblogs.com/wanglijun/p/8916790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!