【SQL】(十四):组合查询(UNION)

本系列为自己学习时的笔记及心得体会,转载请注明出处。

利用UNION操作符将多条SELECT语句组合成一个结果集。

1、组合查询

主要有两种情况需要使用组合查询:

△ 在一个查询中从不同的表返回结构数据

△ 在一个表执行多个查询,按一个查询返回数据

2、创建组合查询

需求:需要Illinois,Indiana和Michigan等美国几个州的所有顾客的报表,还有不管位于哪个州的所有的Full4ALL。

SQL如下:

不使用UNION:


SELECT * FROM customers where cust_state IN ('IL','IN','MI')

OR cust_name = 'Fun4ALL'


使用UNION组合:


SELECT * FROM customers where cust_state IN ('IL','IN','MI')

UNION

select * FROM customers WHERE cust_name = 'Fun4ALL'


结果是一样的:

使用UNION,需要满足几个条件:

△ 必须由两条或两条以上的SELECT语句组成,语句之间用关键字UNION分隔

△ 每个查询必须包含相同的列、表达式或聚集函数

△ 列数据类型必须兼容

可看到上面使用UNION是会去掉重复行的,那么,如果不想去掉,可使用UNION ALL。输入输出如下:

如果需要对组合查询结果进行排序,可在最后加入ORDER BY 语句。如下:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。