66 lines
1.4 KiB
SQL
66 lines
1.4 KiB
SQL
# name: test/optimizer/union_exclude.test
|
|
# description: Test union and exclude
|
|
# group: [optimizer]
|
|
|
|
statement ok
|
|
CREATE TABLE test_df_a(number BIGINT, date VARCHAR, rn BIGINT);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_a VALUES(7058,'2015-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_a VALUES(7058,'2015-07-31',2);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_a VALUES(7075,'2016-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_a VALUES(7076,'2017-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_a VALUES(7076,'2017-07-31',2);
|
|
|
|
statement ok
|
|
CREATE TABLE test_df_b(number BIGINT, date VARCHAR, rn BIGINT);;
|
|
|
|
statement ok
|
|
INSERT INTO test_df_b VALUES(7058,'2015-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_b VALUES(7058,'2015-07-31',2);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_b VALUES(7012,'2015-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_b VALUES(7075,'2016-07-31',1);
|
|
|
|
statement ok
|
|
INSERT INTO test_df_b VALUES(7076,'2017-07-31',1);
|
|
|
|
query II
|
|
with t as (select * from test_df_a UNION select * from test_df_b) select * exclude rn from t order by all;
|
|
----
|
|
7012 2015-07-31
|
|
7058 2015-07-31
|
|
7058 2015-07-31
|
|
7075 2016-07-31
|
|
7076 2017-07-31
|
|
7076 2017-07-31
|
|
|
|
|
|
statement ok
|
|
create table t1 as select 1 a, range b from range(100);
|
|
|
|
statement ok
|
|
create table t2 as select 1 a, range b from range(100);
|
|
|
|
query I
|
|
select count(a) from (select * from t1 union select * from t2) t_union;
|
|
----
|
|
100
|
|
|
|
query I
|
|
select count(a) from (select * from t1 union all select * from t2) t_union;
|
|
----
|
|
200 |