首页 理论教育 MySQL数据库连接运算|内连接实例教程

MySQL数据库连接运算|内连接实例教程

时间:2023-11-22 理论教育 版权反馈
【摘要】:图5.26 连接原理1.内连接内连接将两个表中满足指定连接条件的记录连接成新的结果集,舍弃所有不满足连接条件的记录。

MySQL数据库连接运算|内连接实例教程

5.8.1 使用from子句指定数据源

多张数据库表(或者视图)“缝补”成一个结果集时,需要指定“缝补”条件,该“缝补”条件称为连接条件。

指定连接条件的方法有两种:第一种方法是在where子句中指定连接条件(稍后讲解)。第二种方法是在from子句中使用连接(join)运算将多个数据源按照某种连接条件“缝补”在一起。其语法格式如下:

from表名1 [连接类型] join表名2 on表1和表2之间的连接条件

说明:SQL标准中的连接类型主要分为inner join(内连接)和outer join(外连接),而外连接又分为left join(左外连接,简称为左连接)、right join(右外连接,简称为右连接)以及full join(完全外连接,简称完全连接),连接原理如图5.26所示。

图5.26 连接原理

1.内连接(inner join)

内连接将两个表中满足指定连接条件的记录连接成新的结果集,舍弃所有不满足连接条件的记录。内连接是最常用的连接类型,也是默认的连接类型,可以在from子句中使用inner join(inner关键字可以省略)实现内连接,语法格式如下:

from 表1 [inner] join 表2 on 表1和表2之间的连接条件

说明:使用内连接连接两个数据库表时,连接条件会同时过滤表1与表2的记录信息。

2.外连接(outer join)

外连接又分为左连接(left join)、右连接(right join)和完全连接(full join)。与内连接不同,外连接(左连接或右连接)的连接条件只过滤一个表,对另一个表不进行过滤(该表的所有记录出现在结果集中)。

注意:MySQL暂不支持完全连接。(www.xing528.com)

(1)左连接的语法格式。

from 表1 left join 表2 on 表1和表2之间的连接条件

说明:语法格式中表1左连接表2,意味着查询结果集中须包含表1的全部记录,然后表1按指定的连接条件与表2进行连接,若表2中没有满足连接条件的记录,则结果集中表2相应的字段填入NULL。

(2)右连接的语法格式。

from 表1 right join 表2 on 表1和表2之间的连接条件

说明:语法格式中表1右连接表2,意味着查询结果集中须包含表2的全部记录,然后表2按指定的连接条件与表1进行连接,若表1中没有满足连接条件的记录,则结果集中表1相应的字段填入NULL。

5.8.2 多表连接

以3个表为例,语法格式如下:

from 表1 [连接类型] join 表2 on 表1和表2之间的连接条件

[连接类型] join 表3 on 表2和表3之间的连接条件

多表连接原理如图5.27所示。

图5.27 多表连接接原理

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈