mariadb/mysql-test/t/union.test

66 lines
2.2 KiB
Text
Raw Normal View History

#
# Test of unions
#
2001-08-12 16:25:28 +03:00
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;
2001-09-18 05:16:39 +03:00
--error 1217
select a,b from t1 into outfile 'skr' union select a,b from t2;
2001-09-18 05:16:39 +03:00
--error 1217
select a,b from t1 order by a union select a,b from t2;
2001-09-18 05:16:39 +03:00
--error 1217
insert into t3 select a from t1 order by a union select a from t2;
2001-09-18 05:16:39 +03:00
--error 1218
2001-09-17 15:40:03 +03:00
create table t3 select a,b from t1 union select a from t2;
2001-09-18 05:16:39 +03:00
--error 1218
select a,b from t1 union select a from t2;
2001-09-18 05:16:39 +03:00
--error 1218
2001-09-17 15:40:03 +03:00
select * from t1 union select a from t2;
2001-09-18 05:16:39 +03:00
--error 1218
2001-09-17 15:40:03 +03:00
select a from t1 union select * from t2;
# Test CREATE, INSERT and REPLACE
2001-08-12 16:25:28 +03:00
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;
2001-08-12 16:25:28 +03:00
drop table t1,t2,t3;
#
# Test bug reported by joc@presence-pc.com
#
CREATE TABLE t1 (
`pseudo` char(35) NOT NULL default '',
`pseudo1` char(35) NOT NULL default '',
`same` tinyint(1) unsigned NOT NULL default '1',
PRIMARY KEY (`pseudo1`),
KEY `pseudo` (`pseudo`)
) TYPE=MyISAM;
INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1);
SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce';
SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce';
SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce' order by pseudo desc;
drop table t1;