summaryrefslogtreecommitdiff
path: root/mysql-test/t/union.test
blob: c3a0e1ef901d7ee9154c4219e00321cc656d4159 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#
# Test of unions
#

drop table if exists t1,t2,t3;
CREATE TABLE t1 (a int not null, b char (10) not null);
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
CREATE TABLE t2 (a int not null, b char (10) not null);
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');

select a,b from t1 union select a,b from t2;
select a,b from t1 union all select a,b from t2;
select a,b from t1 union all select a,b from t2 order by b;
select a,b from t1 union all select a,b from t2 union select 7,'g';
select 0,'#' union select a,b from t1 union all select a,b from t2 union select 7,'gg';
select a,b from t1 union select a,b from t1;
select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 group by b;

# Test some error conditions with UNION
explain select a,b from t1 union all select a,b from t2;

--error 1215
select a,b from t1 into outfile 'skr' union select a,b from t2;

--error 1215
select a,b from t1 order by a union select a,b from t2;

--error 1216
create table t3 select a,b from t1 union select a from t2;

--error 1215
insert into t3 select a from t1 order by a union select a from t2;

--error 1216
select a,b from t1 union select a from t2;

# Test CREATE, INSERT and REPLACE
create table t3 select a,b from t1 union all select a,b from t2;
insert into t3 select a,b from t1 union all select a,b from t2;
replace into t3 select a,b as c from t1 union all select a,b from t2;

drop table t1,t2,t3;