2.UNION ALL--不合并重复行 运算从多个查询中返回所有行 Selects all records from all selectstatements.


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,一边拜乔帮主的果粉自以为是果粉,其实在乔帮主的眼里是不折不扣的叛徒。