mysql多表查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多表查询相关的知识,希望对你有一定的参考价值。

1、并(union)

“并”就是把具有相同字段数目和字段类型的表合并到一起

2、笛卡尔积

笛卡尔积就是没有连接条件表关系的返回的结果

3、内连接(inner join)

针对数据库操作的运算提供了一个专门的函数JOIN。连接就是在表关系的笛卡尔积数据记录中,按照相应字段值的比较条件选择生成一个新的关系。连接又分为内连接(INNER JOIN)、外连接(OUTER JOIN)、交叉连接(CROSS JOIN)

内连接是保留表关系中所有匹配的数据记录,舍弃不匹配的数据记录。按照匹配的条件可以分成自然连接、等值连接和不等连接。

3.1 自然连接(NATURAL JOIN)

自然连接是表关系的笛卡尔积中,首先根据表关系中的相同名称的字段自动进行记录匹配,然后去掉重复的字段。

其特点如下:

@会自动判断相同名称的字段,然后进行数据值的匹配,去掉相同字段不相等记录;

@在执行自然连接的新关系中,虽然可以指定包含哪些字段,但是不能指定执行过程中的匹配条件;

@在执行完自然条件的新关系中,所匹配的字段名只有一个,即会去掉重复字段。
3.2 等值连接

所谓等值连接就是表关系的笛卡尔积中,选择所匹配字段值相等(=符号)的数据记录,它与自然连接相比,等值连接关系数据操作需要在执行过程中的用“符号=”指定匹配条件,新关系中不会去掉重复字段。

3.3 不等连接

不等连接是表关系的笛卡尔积中,选择所匹配字段值不相等(!=符号)的数据记录。

4、外连接(OUTER JOIN)

外连接是表关系的笛卡尔积数据记录着,不仅保留表关系中所有匹配的数据记录,而且还会保留部分不匹配的数据记录。按照保留不匹配条件数据记录来源可以分为左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)

4.1 左外连接

左外连接操作就是表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含左边表中不匹配的数据记录

4.2 右外连接

右外连接是表关系的笛卡尔积中,除了选择匹配的数据记录外,还包含了右边表中不匹配的数据记录。

4.3 全外连接

全外连接是表关系的笛卡尔积中,除了选择相匹配的数据记录,还包含了左右两边表中不匹配的数据记录。


以上是关于mysql多表查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL-04-笔记

mysql 多表联合查询啥用

MySQL数据库多表查询

MySQL数据库多表查询

sql mysql多表如何关联查询

MYSQL多表查询