mysql连接查询实例详解

小云云
小云云 原创
2018-03-15 10:40:19 2128浏览

连接查询就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;本文主要和大家分享mysql连接查询实例详解,希望能帮助到大家。

交叉连接 cross join:

没有条件,只是按连接的基本概念,将所有数据行都连接起来的结果。它又叫做“笛卡尔积”;

对于表1(n1个字段,n2行),表2,(m1个字段,m2行),他们交叉连接的结果是:

  • 有n1+m1个列;

  • 有n2*m2个行;

形式有:

  • select * from 表1, 表2;

  • select * from 表1 join 表2;

  • select * from 表1 cross join 表2;

例:
这里写图片描述
这里写图片描述
结果:
这里写图片描述

内连接 inner join:

形式:select * from 表1 【inner】 join 表2 on 连接条件;

例:
这里写图片描述
结果:
这里写图片描述

注意:这种的表跟表之间的内连接查询,虽然可以体现为表跟表之间的“关系”——通常就是外键关系——但并不是有外键关系才能使用这种连接。

可以使用as为其设置别名:
这里写图片描述

左(外)连接 left (outer) join:

形式:

表1(左表)  left  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上左边表的不符合内连接所设定的条件的那些数据的结果;

例:
这里写图片描述
结果:
这里写图片描述

可见,左连接的结果,左边表的数据,一定都会“全部取出”;

右(外)连接 right (outer) join:

形式:

表1(左表)  right  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上右边表的不符合内连接所设定的条件的那些数据的结果;

例:
这里写图片描述
结果:
这里写图片描述

连接查询

就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;

交叉连接 cross join:

没有条件,只是按连接的基本概念,将所有数据行都连接起来的结果。它又叫做“笛卡尔积”;

对于表1(n1个字段,n2行),表2,(m1个字段,m2行),他们交叉连接的结果是:

  • 有n1+m1个列;

  • 有n2*m2个行;

形式有:

  • select * from 表1, 表2;

  • select * from 表1 join 表2;

  • select * from 表1 cross join 表2;

例:
这里写图片描述
这里写图片描述
结果:
这里写图片描述

内连接 inner join:

形式:select * from 表1 【inner】 join 表2 on 连接条件;

例:
这里写图片描述
结果:
这里写图片描述

注意:这种的表跟表之间的内连接查询,虽然可以体现为表跟表之间的“关系”——通常就是外键关系——但并不是有外键关系才能使用这种连接。

可以使用as为其设置别名:
这里写图片描述

左(外)连接 left (outer) join:

形式:

表1(左表)  left  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上左边表的不符合内连接所设定的条件的那些数据的结果;

例:
这里写图片描述
结果:
这里写图片描述

可见,左连接的结果,左边表的数据,一定都会“全部取出”;

右(外)连接 right (outer) join:

形式:

表1(左表)  right  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上右边表的不符合内连接所设定的条件的那些数据的结果;

例:
这里写图片描述
结果:
这里写图片描述

相关推荐:

mysql连接查询左连接,右连接,内连接实例详解

MySQL连接查询中索引的重要性

经典mysql连接查询例题_MySQL

以上就是mysql连接查询实例详解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。