14组合查询

组合查询

SELECT语句可以多条一起执行,并返回一个结果集。这被称为组合查询。

1.创建组合查询

1.1使用UNION语句

使用UNION操作符创建多条查询语句。

注:两条查询语句的返回结果应当有相同的列

SELECT cust_name, cust_contact, cust_email
From Customers
Where cust_state IN ('IL','IN','MI')
UNION
SELECT cust_name, cust_contact, cust_email
From Customers
Where cust_name = 'Fun4All';

对于单个表的组合查询,使用where语句的组合方式更简单。

1.2UNION使用的规则

1.必须有两条以上的SELECT语句组成,并且之间用UNION连接。

2.每个查询应当由相同的列组成(列名,表达式,聚集函数)

3.列数据类型应当兼容。

1.3包含或取消重复的行

UNION关键字连接的多条查询默认去除重复的行。

如果想做到包含重复的行,应当使用UNION ALL关键字。

1.4对组合查询结果进行排序

使用order by语句,但必须只在最后一个SELECT中使用。

SELECT cust_name, cust_contact, cust_email
From Customers
Where cust_state IN ('IL','IN','MI')
UNION
SELECT cust_name, cust_contact, cust_email
From Customers
Where cust_name = 'Fun4All'
Order by cust_name;