mysql中的子查询跟关联查询的总结(MySQL中的子查询和联合查询)
mysql中的子查询跟关联查询的总结(MySQL中的子查询和联合查询)UNION语句中的每个SELECT子句必须包含相同的列、表达式或聚合函数。UNION语句必须由两条或两条以上的SELECT语句组成,且彼此间用关键字UNION分隔。1、带IN关键字的查询带IN关键字的子查询是最常用的一类子查询,用于判定一个给定值是否存在与子查询的结果集中,使用IN关键字进行子查询是,内层查询语句仅仅返回一个数据列,其值将提供给外层查询进行比较操作。#在学生表tb_student中,将学号出现在成绩表tb_score中(表明该学生选修了课程)的学生姓名查询出来
前言
前面说了很多MySQL中的查询,比如条件查询、分组聚合查询、连接查询,今天来说一下另外两个非常的重要的查询,MySQL中的子查询和联合查询。
子查询
子查询也称嵌套查询,是将一个查询语句嵌套在另一个查询语句的WHERE子句或者HAVING短语中,前者被称为内层查询或子查询,后者被称为外层查询或父查询。在整个SELECT语句中,先计算子查询,然后将子查询的结果作为父查询的过滤条件,嵌套查询可以用多个简单的查询构成一个复杂的查询,用来增强SQL的查询能力。
1、带IN关键字的查询
带IN关键字的子查询是最常用的一类子查询,用于判定一个给定值是否存在与子查询的结果集中,使用IN关键字进行子查询是,内层查询语句仅仅返回一个数据列,其值将提供给外层查询进行比较操作。
#在学生表tb_student中,将学号出现在成绩表tb_score中(表明该学生选修了课程)的学生姓名查询出来
UNION语句必须由两条或两条以上的SELECT语句组成,且彼此间用关键字UNION分隔。
UNION语句中的每个SELECT子句必须包含相同的列、表达式或聚合函数。
每个SELECT子句对应的目标列的数据类型必须兼容,目标列的数据类型不必完全相同,但必须是MySQL可以隐含转换的类型,例如,不同的数值类型或不同的日期类型。
第一个SELECT子句对应的目标列名会被作 为UNION语句结果集的列名称。
联合查询中只能使用一条ORDER BY自己或LIMIMT自己,且它们置于最后一条SELECT语句之后。
小结
上面就是今天的主题内容了,今天分享下MySQL中的子查询和联合查询,这对多层查询很有帮助,在工作中,我们常用的是子查询,因为很多数据都不是存储在一个表中,需要进行多层查询,希望同学们仔细看一下。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。
如果想快速联系我,欢迎关注AiryData。
如需转载,请联系授权,谢谢合作。