首页 >数据库 >mysql教程 >mysql连接查询实例详解

mysql连接查询实例详解

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

连接查询就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;本文主要和大家分享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