专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 简述4种MySQL连接查询

简述4种MySQL连接查询

更新时间:2021-01-20 17:05:12 来源:动力节点 浏览831次

连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。而连接查询则是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。在MySQL数据库中,通过MySQL连接查询可以实现多个表查询。当查询数据时,通过连接操作查询出存放在多个表中的不同实体信息。当两个或多个表中存在相同意义的字段时,便可以通过这些字段对不同的表进行连接查询。

 

4种MySQL连接查询主要分为内连接查询、外连接查询、子查询、合并查询。下面我们来一一介绍。

 

1.内连接查询

内连接是一种最常用的连接类型。内连接查询实际上是一种任意条件的查询。使用内连接时,如果两个表的相关字段满足连接条件,就从这两个表中提取数据并组合成新的记录,也就是在内连接查询中,只有满足条件的元组才能出现在结果关系中。

内连接的数据记录中,不会存在字段为NULL的情况。可以简单地认为,内链接的结果就是在左连接或者右连接的结果中剔除存在字段为NULL的记录后所得到的结果。

 

2.外连接查询

连接查询将查询多个表中相关联的行,内连接时,返回查询结果集合中的仅是符合查询条件和连接条件的行。但有时需要包含没有关联的行中数据,即返回查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左连接)、右表(右连接)或两个边表中的所有数据行。外连接分为左外连接和右外连接;

LEFT JOIN(左连接):返回包括左表中的所有记录和右表中连接字段相等的记录

RIGHT JOIN(右连接):返回包括右表中所有记录和左表中连接字段相等的记录

左连接的结果包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果行中右表的所有选择列表列均为空值。

 

3.子查询

子查询是指一个查询语句嵌套在另一个查询语句内部的查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或者多个表。子查询中常用的操作符有ANY(SOME)、ALL、IN、EXISTS。子查询可以添加到SELECT、UPDATE和DELETE语句中,而且可以进行多层嵌套。子查询中也可以使用比较运算符,如“<”、“<=”、“>”、“>=”和“!=”等。本节将介绍如何在SELECT语句中嵌套子查询。

 

 

4.合并查询

利用UNION关键字,可以给出多条SELECT语句,并将它们的结果组合成单个结果集。合并时两个表对应的列数和数据类型必须相同。各个SELECT语句之间使用UNION或UNION ALL关键字分隔。UNION不使用关键字ALL执行时,删除重复记录,所有返回行都是唯一的;使用关键字ALL的作用是不删除重复行也不对结果进行自动排序。

 

以上就是4种MySQL连接查询的简短介绍,对于我们了解MySQL连接查询起到了承接下文的过渡作用,但还需要我们去本站的MySQL教程中查看更多的相关知识,才能加深我们的理解,彻底学会MySQL连接查询。

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>