mysql如何实现连接查询

下文我给大家简单讲讲关于mysql如何实现连接查询,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完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;

例:
mysql如何实现连接查询
mysql如何实现连接查询
结果:
mysql如何实现连接查询

内连接  inner  join:

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

例:
mysql如何实现连接查询
结果:
mysql如何实现连接查询

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

可以使用as为其设置别名:
mysql如何实现连接查询

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

形式:

表1(左表)  left  【outer】 join  表2(右表)  alt="mysql如何实现连接查询">
结果:
mysql如何实现连接查询

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

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

形式:

表1(左表)  right  【outer】 join  表2(右表)  alt="mysql如何实现连接查询">
结果:
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;

例:
mysql如何实现连接查询
mysql如何实现连接查询
结果:
mysql如何实现连接查询

内连接  inner  join:

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

例:
mysql如何实现连接查询
结果:
mysql如何实现连接查询

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

可以使用as为其设置别名:
mysql如何实现连接查询

mysql如何实现连接查询