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多表查询的主要内容,如果未能解决你的问题,请参考以下文章