Sql Server UNION 组合查询
--union 组合查询
-- union 讲多条查询语句进行组合并汇合结果集 union默认去除重复的结果
select cust_name,cust_contact,cust_email from Customers where cust_state in ('MI','OH','AZ')
union
select cust_name,cust_contact,cust_email from Customers where cust_name ='Fun4All';
-- union all 查询全部结果 包括重复集 如果需要每个条件的匹配行全部出现, 那就不能使用where了 而是union all UNION ALL
select cust_name,cust_contact,cust_email from Customers where cust_state in ('MI','OH','AZ')
union all
select cust_name,cust_contact,cust_email from Customers where cust_name ='Fun4All';
-- 使用union进行组合查询时 使用order by 进行排序时 必须放在最后的一个查询语句里,并且只能对一个语句进行使用。
--但order by 其实是对最终结果进行排序,而不是末尾查询语句进行排序。
select cust_name,cust_contact,cust_email from Customers where cust_state in ('MI','OH','AZ')
union
select cust_name,cust_contact,cust_email from Customers where cust_name ='Fun4All' order by cust_name;
--union 也可以不同的表进行组合查询
select cust_name,cust_contact,cust_email from Customers where cust_state in ('MI','OH','AZ')
union
select prod_name ,prod_name ,prod_name from products;
select prod_name ,prod_name ,prod_name from products;
select * from abc
create table abc( aid int)
alter table abc add dda int --在已有表中新增列: alter table 表名 add 字段 字段类型
insert into abc (id,name,aid) values (1,'aaa',3)
insert into abc (id,name,aid) values (2,'bbb',2)
insert into abc (id,name,aid) values (3,'ccc',2)
insert into abc (id,name,aid) values (4,'ddd',1)
select * from abc;
select * from abc order by aid asc;