行、重复-SAP HANA 集合操作 UNION/Union all/INTERSECT/EXCEPT (SAP HANA Set Operations)-by小雨

PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

    2.UNION ALL--合不并重复行

    运算从多个询查中返回有所行

    Selects all records from all selectstatements. Duplicates are not removed

    法语应用:

    Select statement  UNION ALLSelect statement….;

    3.INTERSECT --集交操纵

    用订交运算返回多个询查中有所的大众行。 无重复行

    法语应用:

    Select statement  INTERSECT Select statement….;

    4.EXCEPT --集差操纵,无重复行
相减运算求集差。用相减运算返回由第一个询查返回的行那些行不出在现第二个询查中 (第一个SELECT语句减第二个SELECT语句)

    法语应用:

    Select statement  EXCEPT Select statement….; 

    合并重复行

    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 t1 ( id int primary key, customer varchar(5), year int, product varchar(5), sales int );
 insert into t1 values(1, 'C1', 2009, 'P1', 100);
 insert into t1 values(2, 'C1', 2009, 'P2', 200);
 insert into t1 values(3, 'C1', 2010, 'P1', 50);
 insert into t1 values(4, 'C1', 2010, 'P2', 150);
 insert into t1 values(5, 'C2', 2009, 'P1', 200);
 insert into t1 values(6, 'C2', 2009, 'P2', 300);
 insert into t1 values(7, 'C2', 2010, 'P1', 100);
 insert into t1 values(8, 'C2', 2010, 'P2', 150);
 create column table t2 ( id int primary key, customer varchar(5), year int, product varchar(5), sales int );
  insert into t2 values(1, 'C1', 2011, 'P1', 100);
 insert into t2 values(2, 'C1', 2011, 'P2', 200);
 insert into t2 values(3, 'C1', 2011, 'P1', 50);
 insert into t2 values(4, 'C1', 2011, 'P2', 150);
 insert into t2 values(5, 'C2', 2011, 'P1', 200);
 insert into t2 values(6, 'C2', 2011, 'P2', 300);
 insert into t2 values(7, 'C2', 2011, 'P1', 100);
 insert into t2 values(8, 'C2', 2011, 'P2', 150);
 insert into t2 values(9, 'C1', 2011, 'P1', 100);

 insert into t2 values(10, 'C2', 2009, 'P1', 200);
 insert into t2 values(11, 'C2', 2009, 'P2', 300);
 insert into t2 values(12, 'C2', 2010, 'P1', 100);
 insert into t2 values(13, 'C2', 2010, 'P2', 150);

 

    范例一: UNION

    SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T1
UNION
SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T2;

    

 

    范例二: UNION ALL

    
SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T1
UNION ALL
SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T2;

    

    范例三: INTERSECT

 

    SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T1
INTERSECT
SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T2;

    

    范例四: EXCEPT

    SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T1
EXCEPT
SELECT CUSTOMER,YEAR,PRODUCT,SALES FROM T2;

    

    
 

 select count(1) from (select  customer,year,product,sales from t1 union select  customer,year,product,sales from t2)    结果--->> 16

 select count(1) from (select  customer,year,product,sales from t1  UNION DISTINCT select  customer,year,product,sales from t2)  结果 --->> 16

 select count(1) from (select  customer,year,product,sales from t1 union all select  customer,year,product,sales from t2) 结果-->>21

    select top 10 * from (select  customer,year,product,sales from t1 union all select  customer,year,product,sales from t2) order by customer

    结果

    CUSTOMER;YEAR;PRODUCT;SALES
C1;2009;P1;100
C1;2011;P2;150
C1;2011;P1;50
C1;2011;P2;200
C1;2011;P1;100
C1;2010;P1;50
C1;2009;P2;200
C1;2010;P2;150
C1;2011;P1;100
C2;2010;P2;150

文章结束给大家分享下程序员的一些笑话语录:  一边用着越狱的ip,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。

posted @ 2013-04-18 15:19  坚固66  阅读(388)  评论(0编辑  收藏  举报