mysql子查询语句(sql数据库查询语句例子)

前面说了很多MySQL中的查询,比如条件查询、分组聚合查询、连接查询,今天来说一下另外两个非常的重要的查询,MySQL中的子查询和联合查询。

mysql子查询语句(sql数据库查询语句例子)

PART

02

联合查询

使用UNION关键字可以把来自多个SELECT语句的结果组合到一个结果集中,这种查询称为并(UNION)运算或联合查询。合并时,多个SELECT子句中对应的字段数和数据类型必须相同。下面不使用ALL关键字,执行的时候去掉重复的记录,所有返回的行都是唯一的,使用关键字ALL的作用是不去掉重复的记录,也不对结果进行自动排序。

语法格式是:

SELECT -FROM -WHEREUNION [ALL]SELECT -FROM -WHERE[...UNION [ALL]SELECT -FROM -WHERE]

例子:

#使用UNION查询选修了“管理学”或“计算机基础”的学生学号SELECT studentNo FROM tb_score, tb_courseWHERE tb_score .courseNo= tb_course. courseNoAND courseName=’管理学’UNIONSELECT studentNo FROM tb_score, tb_courseWHERE tb_score .courseNo= tb_course. courseNoAND courseName=’ 计算机基础’;

使用UNION语句需要注意以下几点:

  • UNION语句必须由两条或两条以上的SELECT语句组成,且彼此间用关键字UNION分隔。
  • UNION语句中的每个SELECT子句必须包含相同的列、表达式或聚合函数。
  • 每个SELECT子句对应的目标列的数据类型必须兼容,目标列的数据类型不必完全相同,但必须是MySQL可以隐含转换的类型,例如,不同的数值类型或不同的日期类型。
  • 第一个SELECT子句对应的目标列名会被作 为UNION语句结果集的列名称。
  • 联合查询中只能使用一条ORDER BY自己或LIMIMT自己,且它们置于最后一条SELECT语句之后。

今天分享下MySQL中的子查询和联合查询,这对多层查询很有帮助,在工作中,我们常用的是子查询,因为很多数据都不是存储在一个表中,需要进行多层查询。

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论