更新时间:2021-01-20 17:05:12 来源:极悦 浏览964次
连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。而连接查询则是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。在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连接查询。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习