C.2 联合查询

图C-2展示了某连锁集团“三角头”、“江南”和“东山”3间分店的销售数据列表。

含义:合并多个查询的结果集,这些查询具有相同的字段数目且包含相同或可以兼容的数据类型。

语法:

SELECT 字段 FROM 表 1UNION {ALL}

SELECT 字段 FROM 表x

联合查询的特点:

img500

图C-2分 店销售数据列表

(1)使用联合查询,需要确保查询的字段数目相同,且包含相同或兼容的数据类型。

(2)在联合查询中,最终返回的记录的字段名称以第一个查询的字段名称为准,其余进行联合查询的查询,使用的字段别名将被忽略。

(3) UNION和UNION ALL的区别在于,UNION会将所有进行联合查询的表的记录进行汇总,并返回不重复记录(即重复记录只返回其中一条记录),同时对记录进行升序排序,而UNION ALL则只将所有进行联合查询的表的记录进行汇总,不管记录是否重复,也不对记录进行排序。

提示img02

“数字”和“文本”在联合查询中,是可以兼容的数据类型。

如果希望查询如图C-2所示的“三角头”、“江南”和“东山”3间分店销售数据列表中,各分店所有产品不重复个数,可以使用以下SQL语句。

SELECT‘三角头’AS分店,产品FROM [三角头$]UNION

SELECT‘江南’,产品 FROM [江南$]UNION

SELECT‘东山’,产品FROM [东山$]

如果希望将如图C-2所示的“三角头”、“江南”和“东山”3间分店销售数据列表进行汇总,可以使用以下SQL语句。

SELECT‘三角头’AS 分店,* FROM [三角头$] UNION ALL

SELECT‘江南’,* FROM [江南$] UNION ALL

SELECT‘东山’,* FROM [东山$]