jinquan26 发表于 2015-9-21 07:14:49

SAP HANA SQL语句UNION 和 UNION ALL的用法

  UNION ALL--不合并重复行
  Selects all records from all selectstatements. Duplicates are not removed
  UNION --合并重复行UNION 和 UNION DISTINCT功能相同
  Selects all unique records from all selectstatements by removing duplicates found from different select statements. UNION has the same function as UNION DISTINCT.
  合并重复行
  select * from A union select * from B
  不合并重复行 select * from A union all select * from B
  按某个字段排序 --合并重复行
  select * from ( select * from A union select * from B) AS T order by 字段名
  不合并重复行
  select * from ( select * from A union all select * from B) AS T order by 字段名
  create column table tunion_1( id int primary key, customer varchar(5), year int, product varchar(5), sales int );
  create column table tunion_2 ( id int primary key, customer varchar(5), year int, product varchar(5), sales int );
  
insert into tunion_1values(1, 'C1', 2009, 'P1', 100);   
insert into tunion_1values(2, 'C1', 2009, 'P2', 200);   
insert into tunion_1values(3, 'C1', 2010, 'P1', 50);   
insert into tunion_1values(4, 'C1', 2010, 'P2', 150);   
insert into tunion_1values(5, 'C2', 2009, 'P1', 200);   
insert into tunion_1values(6, 'C2', 2009, 'P2', 300);   
insert into tunion_1values(7, 'C2', 2010, 'P1', 100);   
insert into tunion_1values(8, 'C2', 2010, 'P2', 150);   
   
insert into tunion_2 values(1, 'C1', 2011, 'P1', 100);   
insert into tunion_2 values(2, 'C1', 2011, 'P2', 200);   
insert into tunion_2 values(3, 'C1', 2011, 'P1', 50);   
insert into tunion_2 values(4, 'C1', 2011, 'P2', 150);   
insert into tunion_2 values(5, 'C2', 2011, 'P1', 200);   
insert into tunion_2 values(6, 'C2', 2011, 'P2', 300);   
insert into tunion_2 values(7, 'C2', 2011, 'P1', 100);   
insert into tunion_2 values(8, 'C2', 2011, 'P2', 150);   
insert into tunion_2 values(9, 'C1', 2011, 'P1', 100);
  select count(1) from (selectcustomer,year,product,sales from tunion_1 union selectcustomer,year,product,sales from tunion_2)    结果--->> 16

  select count(1) from (selectcustomer,year,product,sales from tunion_1 UNION DISTINCT selectcustomer,year,product,sales from tunion_2)结果 --->> 16

  select count(1) from (selectcustomer,year,product,sales from tunion_1 union all selectcustomer,year,product,sales from tunion_2)结果—>>17

  select* from (selectcustomer,year,product,sales from tunion_1 union all selectcustomer,year,product,sales from tunion_2) order by customer

  select* from (selectcustomer,year,product,sales from tunion_1 union selectcustomer,year,product,sales from tunion_2) order by customer
页: [1]
查看完整版本: SAP HANA SQL语句UNION 和 UNION ALL的用法