1
drop table if exists t1,t2,t3,t4,t5,t6;
2
CREATE TABLE t1 (a int not null, b char (10) not null);
3
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
4
CREATE TABLE t2 (a int not null, b char (10) not null);
5
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
6
select a,b from t1 union distinct select a,b from t2;
14
select a,b from t1 union all select a,b from t2;
24
select a,b from t1 union all select a,b from t2 order by b;
34
select a,b from t1 union all select a,b from t2 union select 7,'g';
43
select 0,'#' union select a,b from t1 union all select a,b from t2 union select 7,'gg';
53
select a,b from t1 union select a,b from t1;
58
select 't1',b,count(*) from t1 group by b UNION select 't2',b,count(*) from t2 group by b;
67
(select a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 4;
73
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1);
78
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc;
83
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b;
84
ERROR 42000: Table 't1' from one of the SELECTs cannot be used in global ORDER clause
85
explain extended (select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by b desc;
86
id select_type table type possible_keys key key_len ref rows filtered Extra
87
1 PRIMARY t1 ALL NULL NULL NULL NULL # 100.00
88
2 UNION t2 ALL NULL NULL NULL NULL # 100.00 Using filesort
89
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL # NULL Using filesort
91
Note 1003 (select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` limit 2) union all (select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b` from `test`.`t2` order by `test`.`t2`.`a` limit 1) order by `b` desc
92
(select sql_calc_found_rows a,b from t1 limit 2) union all (select a,b from t2 order by a) limit 2;
99
select sql_calc_found_rows a,b from t1 union all select a,b from t2 limit 2;
106
explain select a,b from t1 union all select a,b from t2;
107
id select_type table type possible_keys key key_len ref rows Extra
108
1 PRIMARY t1 ALL NULL NULL NULL NULL #
109
2 UNION t2 ALL NULL NULL NULL NULL #
110
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL #
111
explain select xx from t1 union select 1;
112
ERROR 42S22: Unknown column 'xx' in 'field list'
113
explain select a,b from t1 union select 1;
114
ERROR 21000: The used SELECT statements have a different number of columns
115
explain select 1 union select a,b from t1 union select 1;
116
ERROR 21000: The used SELECT statements have a different number of columns
117
explain select a,b from t1 union select 1 limit 0;
118
ERROR 21000: The used SELECT statements have a different number of columns
119
select a,b from t1 into outfile 'skr' union select a,b from t2;
120
ERROR HY000: Incorrect usage of UNION and INTO
121
select a,b from t1 order by a union select a,b from t2;
122
ERROR HY000: Incorrect usage of UNION and order_st BY
123
insert into t3 select a from t1 order by a union select a from t2;
124
ERROR HY000: Incorrect usage of UNION and order_st BY
125
create table t3 select a,b from t1 union select a from t2;
126
ERROR 21000: The used SELECT statements have a different number of columns
127
select a,b from t1 union select a from t2;
128
ERROR 21000: The used SELECT statements have a different number of columns
129
select * from t1 union select a from t2;
130
ERROR 21000: The used SELECT statements have a different number of columns
131
select a from t1 union select * from t2;
132
ERROR 21000: The used SELECT statements have a different number of columns
133
select * from t1 union select SQL_BUFFER_RESULT * from t2;
134
ERROR 42000: Incorrect usage/placement of 'SQL_BUFFER_RESULT'
135
create table t3 select a,b from t1 union all select a,b from t2;
136
insert into t3 select a,b from t1 union all select a,b from t2;
137
replace into t3 select a,b as c from t1 union all select a,b from t2;
139
select * union select 1;
140
ERROR HY000: No tables used
141
select 1 as a,(select a union select a);
142
a (select a union select a)
144
(select 1) union (select 2) order by 0;
145
ERROR 42S22: Unknown column '0' in 'order clause'
146
SELECT @a:=1 UNION SELECT @a:=@a+1;
150
(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a);
151
ERROR 42S22: Unknown column 'a' in 'field list'
152
(SELECT 1,3) UNION (SELECT 2,1) ORDER BY (SELECT 2);
157
`pseudo` char(35) NOT NULL default '',
158
`pseudo1` char(35) NOT NULL default '',
159
`same` int NOT NULL default '1',
160
PRIMARY KEY (`pseudo1`),
161
KEY `pseudo` (`pseudo`)
163
INSERT INTO t1 (pseudo,pseudo1,same) VALUES ('joce', 'testtt', 1),('joce', 'tsestset', 1),('dekad', 'joce', 1);
164
SELECT pseudo FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo FROM t1 WHERE pseudo='joce';
168
SELECT pseudo1 FROM t1 WHERE pseudo1='joce' UNION SELECT pseudo1 FROM t1 WHERE pseudo='joce';
173
SELECT * FROM t1 WHERE pseudo1='joce' UNION SELECT * FROM t1 WHERE pseudo='joce' order by pseudo desc,pseudo1 desc;
178
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION SELECT pseudo FROM t1 WHERE pseudo1='joce';
183
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION ALL SELECT pseudo FROM t1 WHERE pseudo1='joce';
188
SELECT pseudo1 FROM t1 WHERE pseudo='joce' UNION SELECT 1;
194
create table t1 (a int);
195
create table t2 (a int);
196
insert into t1 values (1),(2),(3),(4),(5);
197
insert into t2 values (11),(12),(13),(14),(15);
198
(select * from t1 limit 2) union (select * from t2 limit 3) limit 4;
204
(select * from t1 limit 2) union (select * from t2 limit 3);
211
(select * from t1 limit 2) union (select * from t2 limit 20,3);
215
set SQL_SELECT_LIMIT=2;
216
(select * from t1 limit 1) union (select * from t2 limit 3);
220
set SQL_SELECT_LIMIT=DEFAULT;
223
cid int NOT NULL default '0',
224
cv varchar(190) NOT NULL default '',
228
INSERT INTO t1 VALUES (8,'dummy');
230
cid int NOT NULL auto_increment,
231
cap varchar(255) NOT NULL default '',
236
Warning 1071 Specified key was too long; max key length is 767 bytes
238
gid int NOT NULL auto_increment,
239
gn varchar(255) NOT NULL default '',
240
must int default NULL,
245
Warning 1071 Specified key was too long; max key length is 767 bytes
246
INSERT INTO t3 VALUES (1,'V1',NULL);
248
uid bigint NOT NULL default '0',
249
gid bigint default NULL,
250
rid bigint default NULL,
251
cid bigint default NULL,
252
UNIQUE KEY m (uid,gid,rid,cid),
256
KEY container (gid,rid,cid)
258
INSERT INTO t4 VALUES (1,1,NULL,NULL);
260
rid bigint NOT NULL auto_increment,
261
rl varchar(255) NOT NULL default '',
266
Warning 1071 Specified key was too long; max key length is 767 bytes
268
uid bigint NOT NULL auto_increment,
269
un varchar(190) NOT NULL default '',
270
uc int NOT NULL default '0',
272
UNIQUE KEY nc (un,uc),
275
INSERT INTO t6 VALUES (1,'test',8);
276
SELECT t4.uid, t5.rl, t3.gn as g1, t4.cid, t4.gid as gg FROM t3, t6, t1, t4 left join t5 on t5.rid = t4.rid left join t2 on t2.cid = t4.cid WHERE t3.gid=t4.gid AND t6.uid = t4.uid AND t6.uc = t1.cid AND t1.cv = "dummy" AND t6.un = "test";
279
SELECT t4.uid, t5.rl, t3.gn as g1, t4.cid, t4.gid as gg FROM t3, t6, t1, t4 left join t5 on t5.rid = t4.rid left join t2 on t2.cid = t4.cid WHERE t3.gid=t4.gid AND t6.uid = t4.uid AND t3.must IS NOT NULL AND t6.uc = t1.cid AND t1.cv = "dummy" AND t6.un = "test";
281
(SELECT t4.uid, t5.rl, t3.gn as g1, t4.cid, t4.gid as gg FROM t3, t6, t1, t4 left join t5 on t5.rid = t4.rid left join t2 on t2.cid = t4.cid WHERE t3.gid=t4.gid AND t6.uid = t4.uid AND t3.must IS NOT NULL AND t6.uc = t1.cid AND t1.cv = "dummy" AND t6.un = "test") UNION (SELECT t4.uid, t5.rl, t3.gn as g1, t4.cid, t4.gid as gg FROM t3, t6, t1, t4 left join t5 on t5.rid = t4.rid left join t2 on t2.cid = t4.cid WHERE t3.gid=t4.gid AND t6.uid = t4.uid AND t6.uc = t1.cid AND t1.cv = "dummy" AND t6.un = "test");
284
drop table t1,t2,t3,t4,t5,t6;
285
CREATE TABLE t1 (a int not null, b char (10) not null);
286
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
287
CREATE TABLE t2 (a int not null, b char (10) not null);
288
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
289
create table t3 select a,b from t1 union select a,b from t2;
290
create table t4 (select a,b from t1) union (select a,b from t2) limit 2;
291
insert into t4 select a,b from t1 union select a,b from t2;
292
insert into t3 (select a,b from t1) union (select a,b from t2) limit 2;
313
drop table t1,t2,t3,t4;
314
create table t1 (a int);
315
insert into t1 values (1),(2),(3);
316
create table t2 (a int);
317
insert into t2 values (3),(4),(5);
318
(SELECT SQL_CALC_FOUND_ROWS * FROM t1) UNION all (SELECT * FROM t2) LIMIT 1;
324
(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION all (SELECT * FROM t2) LIMIT 2;
331
(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION all (SELECT * FROM t2);
340
(SELECT SQL_CALC_FOUND_ROWS * FROM t1) UNION all (SELECT * FROM t2 LIMIT 1);
349
(SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1) UNION SELECT * FROM t2 LIMIT 1;
350
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near '' at line 1
351
SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION all SELECT * FROM t2 LIMIT 2;
358
SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION all SELECT * FROM t2 LIMIT 2;
365
SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 2;
372
SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 100;
382
SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 100 UNION SELECT * FROM t2;
392
SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION SELECT * FROM t2;
401
SELECT SQL_CALC_FOUND_ROWS * FROM t1 LIMIT 1 UNION SELECT * FROM t2 LIMIT 2;
408
SELECT SQL_CALC_FOUND_ROWS * FROM t1 UNION SELECT * FROM t2 LIMIT 2,2;
415
SELECT SQL_CALC_FOUND_ROWS * FROM t1 limit 2,2 UNION SELECT * FROM t2;
423
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a desc LIMIT 1;
426
(SELECT * FROM t1 ORDER by a) UNION ALL (SELECT * FROM t2 ORDER BY a) ORDER BY A desc LIMIT 4;
432
(SELECT * FROM t1) UNION all (SELECT SQL_CALC_FOUND_ROWS * FROM t2) LIMIT 1;
433
ERROR 42000: Incorrect usage/placement of 'SQL_CALC_FOUND_ROWS'
434
create temporary table t1 select a from t1 union select a from t2;
435
drop temporary table t1;
436
create table t1 select a from t1 union select a from t2;
437
ERROR HY000: You can't specify target table 't1' for update in FROM clause
438
select a from t1 union select a from t2 order by t2.a;
439
ERROR 42S22: Unknown column 't2.a' in 'order clause'
441
select length(version()) > 1 as `*` UNION select 2;
445
create table t1 (a int);
446
insert into t1 values (0), (3), (1), (2);
447
explain (select * from t1) union (select * from t1) order by a;
448
id select_type table type possible_keys key key_len ref rows Extra
449
1 PRIMARY t1 ALL NULL NULL NULL NULL 4
450
2 UNION t1 ALL NULL NULL NULL NULL 4
451
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
453
CREATE TEMPORARY TABLE t1 ( id int default '0') ENGINE=MyISAM;
454
INSERT INTO t1 (id) VALUES("1");
455
CREATE TEMPORARY TABLE t2 ( id int default '0', id_master int default '0', text1 varchar(5) default NULL, text2 varchar(5) default NULL) ENGINE=MyISAM;
456
INSERT INTO t2 (id, id_master, text1, text2) VALUES("1", "1",
458
INSERT INTO t2 (id, id_master, text1, text2) VALUES("2", "1",
460
INSERT INTO t2 (id, id_master, text1, text2) VALUES("3", "1", NULL,
462
INSERT INTO t2 (id, id_master, text1, text2) VALUES("4", "1",
464
SELECT 1 AS id_master, 1 AS id, NULL AS text1, 'ABCDE' AS text2 UNION SELECT id_master, t2.id, text1, text2 FROM t1 LEFT JOIN t2 ON t1.id = t2.id_master;
465
id_master id text1 text2
471
SELECT 1 AS id_master, 1 AS id, 'ABCDE' AS text1, 'ABCDE' AS text2 UNION SELECT id_master, t2.id, text1, text2 FROM t1 LEFT JOIN t2 ON t1.id = t2.id_master;
472
id_master id text1 text2
478
drop table if exists t1,t2;
479
create table t1 (a int not null primary key auto_increment, b int, key(b));
480
create table t2 (a int not null primary key auto_increment, b int);
481
insert into t1 (b) values (1),(2),(2),(3);
482
insert into t2 (b) values (10),(11),(12),(13);
483
explain extended (select * from t1 where a=1) union (select * from t2 where a=1);
484
id select_type table type possible_keys key key_len ref rows filtered Extra
485
1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1 100.00
486
2 UNION t2 const PRIMARY PRIMARY 4 const 1 100.00
487
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL NULL
489
Note 1003 (select '1' AS `a`,'1' AS `b` from `test`.`t1` where ('1' = 1)) union (select '1' AS `a`,'10' AS `b` from `test`.`t2` where ('1' = 1))
490
(select * from t1 where a=5) union (select * from t2 where a=1);
493
(select * from t1 where a=5 and a=6) union (select * from t2 where a=1);
496
(select t1.a,t1.b from t1,t2 where t1.a=5) union (select * from t2 where a=1);
499
(select * from t1 where a=1) union (select t1.a,t2.a from t1,t2 where t1.a=t2.a);
505
explain (select * from t1 where a=1 and b=10) union (select straight_join t1.a,t2.a from t1,t2 where t1.a=t2.a);
506
id select_type table type possible_keys key key_len ref rows Extra
507
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
508
2 UNION t1 index PRIMARY PRIMARY 4 NULL 4 Using index
509
2 UNION t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
510
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
511
explain (select * from t1 where a=1) union (select * from t1 where b=1);
512
id select_type table type possible_keys key key_len ref rows Extra
513
1 PRIMARY t1 const PRIMARY PRIMARY 4 const 1
514
2 UNION t1 ref b b 5 const 1 Using index
515
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL
517
create table t1 ( id int not null auto_increment, primary key (id) ,user_name text );
518
create table t2 ( id int not null auto_increment, primary key (id) ,group_name text );
519
create table t3 ( id int not null auto_increment, primary key (id) ,user_id int ,index user_idx (user_id) ,foreign key (user_id) references t1(id) ,group_id int ,index group_idx (group_id) ,foreign key (group_id) references t2(id) );
520
insert into t1 (user_name) values ('Tester');
521
insert into t2 (group_name) values ('Group A');
522
insert into t2 (group_name) values ('Group B');
523
insert into t3 (user_id, group_id) values (1,1);
524
select 1 'is_in_group', a.user_name, c.group_name, b.id from t1 a, t3 b, t2 c where a.id = b.user_id and b.group_id = c.id UNION select 0 'is_in_group', a.user_name, c.group_name, null from t1 a, t2 c;
525
is_in_group user_name group_name id
527
0 Tester Group A NULL
528
0 Tester Group B NULL
529
drop table t3, t1, t2;
530
create table t1 (mat_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, matintnum CHAR(6) NOT NULL, test INT NULL);
531
create table t2 (mat_id INT NOT NULL, pla_id INT NOT NULL);
532
insert into t1 values (NULL, 'a', 1), (NULL, 'b', 2), (NULL, 'c', 3), (NULL, 'd', 4), (NULL, 'e', 5), (NULL, 'f', 6), (NULL, 'g', 7), (NULL, 'h', 8), (NULL, 'i', 9);
533
insert into t2 values (1, 100), (1, 101), (1, 102), (2, 100), (2, 103), (2, 104), (3, 101), (3, 102), (3, 105);
534
SELECT mp.pla_id, MIN(m1.matintnum) AS matintnum FROM t2 mp INNER JOIN t1 m1 ON mp.mat_id=m1.mat_id GROUP BY mp.pla_id union SELECT 0, 0;
544
create table t1 SELECT "a" as a UNION select "aa" as a;
548
show create table t1;
550
t1 CREATE TABLE `t1` (
551
`a` varchar(1) NOT NULL DEFAULT ''
554
create table t1 SELECT 12 as a UNION select "aa" as a;
559
show create table t1;
561
t1 CREATE TABLE `t1` (
562
`a` varbinary(4) NOT NULL DEFAULT ''
565
create table t1 SELECT 12 as a UNION select 12.2 as a;
570
show create table t1;
572
t1 CREATE TABLE `t1` (
573
`a` decimal(3,1) NOT NULL DEFAULT '0.0'
576
create table t2 (it1 int, it2 int not null, i int not null, ib int, f float, d double, da date, dt datetime, sc char(10), sv varchar(10), b blob, tx text);
577
insert into t2 values (NULL, 1, 3, 4, 1.5, 2.5, '1972-10-22', '1972-10-22 11:50:00', 'testc', 'testv', 'tetetetetest', 'teeeeeeeeeeeest');
578
create table t1 SELECT it2 from t2 UNION select it1 from t2;
583
show create table t1;
585
t1 CREATE TABLE `t1` (
586
`it2` int DEFAULT NULL
589
create table t1 SELECT it2 from t2 UNION select i from t2;
594
show create table t1;
596
t1 CREATE TABLE `t1` (
597
`it2` int NOT NULL DEFAULT '0'
600
create table t1 SELECT i from t2 UNION select f from t2;
605
show create table t1;
607
t1 CREATE TABLE `t1` (
608
`i` double DEFAULT NULL
611
create table t1 SELECT f from t2 UNION select d from t2;
616
show create table t1;
618
t1 CREATE TABLE `t1` (
619
`f` double DEFAULT NULL
622
create table t1 SELECT ib from t2 UNION select f from t2;
627
show create table t1;
629
t1 CREATE TABLE `t1` (
630
`ib` double DEFAULT NULL
633
create table t1 SELECT ib from t2 UNION select d from t2;
638
show create table t1;
640
t1 CREATE TABLE `t1` (
641
`ib` double DEFAULT NULL
644
create table t1 SELECT f from t2 UNION select da from t2;
649
show create table t1;
651
t1 CREATE TABLE `t1` (
652
`f` varbinary(22) DEFAULT NULL
655
create table t1 SELECT da from t2 UNION select dt from t2;
660
show create table t1;
662
t1 CREATE TABLE `t1` (
663
`da` datetime DEFAULT NULL
666
create table t1 SELECT dt from t2 UNION select trim(sc) from t2;
667
select trim(dt) from t1;
671
show create table t1;
673
t1 CREATE TABLE `t1` (
674
`dt` varbinary(19) DEFAULT NULL
677
create table t1 SELECT dt from t2 UNION select sv from t2;
682
show create table t1;
684
t1 CREATE TABLE `t1` (
685
`dt` varbinary(40) DEFAULT NULL
688
create table t1 SELECT sc from t2 UNION select sv from t2;
693
show create table t1;
695
t1 CREATE TABLE `t1` (
696
`sc` varchar(10) DEFAULT NULL
699
create table t1 SELECT dt from t2 UNION select b from t2;
704
show create table t1;
706
t1 CREATE TABLE `t1` (
710
create table t1 SELECT sv from t2 UNION select b from t2;
715
show create table t1;
717
t1 CREATE TABLE `t1` (
721
create table t1 SELECT i from t2 UNION select d from t2 UNION select b from t2;
727
show create table t1;
729
t1 CREATE TABLE `t1` (
733
create table t1 SELECT sv from t2 UNION select tx from t2;
738
show create table t1;
740
t1 CREATE TABLE `t1` (
744
create table t1 SELECT b from t2 UNION select tx from t2;
749
show create table t1;
751
t1 CREATE TABLE `t1` (
755
create table t1 select 1 union select -1;
760
show create table t1;
762
t1 CREATE TABLE `t1` (
763
`1` bigint NOT NULL DEFAULT '0'
766
create table t1 select _latin1"test" union select _latin1"testt" ;
767
ERROR 42S22: Unknown column '_latin1' in 'field list'
768
create table t1 select _utf8"test" union select _utf8"testt" ;
769
ERROR 42S22: Unknown column '_utf8' in 'field list'
770
create table t1 select "test" union select "testt" ;
771
show create table t1;
773
t1 CREATE TABLE `t1` (
774
`test` varchar(4) NOT NULL DEFAULT ''
777
create table t1 (s char(200));
778
insert into t1 values (repeat("1",200));
779
create table t2 select * from t1;
780
insert into t2 select * from t1;
781
insert into t1 select * from t2;
782
insert into t2 select * from t1;
783
insert into t1 select * from t2;
784
insert into t2 select * from t1;
785
set local tmp_table_size=1024;
786
select count(*) from (select * from t1 union all select * from t2 order by 1) b;
789
select count(*) from t1;
792
select count(*) from t2;
796
set local tmp_table_size=default;
797
create table t1 (a int, index (a), b int);
798
insert t1 values (1,1),(2,2),(3,3),(4,4),(5,5);
799
insert t1 select a+1, a+b from t1;
800
insert t1 select a+1, a+b from t1;
801
insert t1 select a+1, a+b from t1;
802
insert t1 select a+1, a+b from t1;
803
insert t1 select a+1, a+b from t1;
805
show status like 'Slow_queries';
808
select count(*) from t1 where a=7;
811
show status like 'Slow_queries';
814
select count(*) from t1 where b=13;
817
show status like 'Slow_queries';
820
select count(*) from t1 where b=13 union select count(*) from t1 where a=7;
824
show status like 'Slow_queries';
827
select count(*) from t1 where a=7 union select count(*) from t1 where b=13;
831
show status like 'Slow_queries';
835
select a from t1 where b not in (1,2,3) union select a from t1 where b not in (4,5,6);
847
show status like 'Slow_queries';
851
create table t1 ( RID int not null default '0', IID int not null default '0', nada varchar(50) not null,NAME varchar(50) not null,PHONE varchar(50) not null);
852
insert into t1 ( RID,IID,nada,NAME,PHONE) values (1, 1, 'main', 'a', '111'), (2, 1, 'main', 'b', '222'), (3, 1, 'main', 'c', '333'), (4, 1, 'main', 'd', '444'), (5, 1, 'main', 'e', '555'), (6, 2, 'main', 'c', '333'), (7, 2, 'main', 'd', '454'), (8, 2, 'main', 'e', '555'), (9, 2, 'main', 'f', '666'), (10, 2, 'main', 'g', '777');
853
select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 A left join t1 B on A.NAME = B.NAME and B.IID = 2 where A.IID = 1 and (A.PHONE <> B.PHONE or B.NAME is null) union select A.NAME, A.PHONE, B.NAME, B.PHONE from t1 B left join t1 A on B.NAME = A.NAME and A.IID = 1 where B.IID = 2 and (A.PHONE <> B.PHONE or A.NAME is null);
854
NAME PHONE NAME PHONE
861
create table t1 (col1 int, col2 int);
862
insert into t1 values (1,2),(3,4),(5,6),(7,8),(9,10);
863
select col1 n from t1 union select col2 n from t1 order by n;
875
alter table t1 add index myindex (col2);
876
select col1 n from t1 union select col2 n from t1 order by n;
889
create table t1 (i int);
890
insert into t1 values (1);
891
select * from t1 UNION select * from t1;
894
select * from t1 UNION ALL select * from t1;
898
select * from t1 UNION select * from t1 UNION ALL select * from t1;
903
select 1 as a union all select 1 union all select 2 union select 1 union all select 2;
908
set sql_select_limit=1;
909
select 1 union select 2;
912
(select 1) union (select 2);
915
(select 1) union (select 2) union (select 3) limit 2;
919
set sql_select_limit=default;
920
create table t1 (a int);
921
insert into t1 values (100), (1);
922
create table t2 (a int);
923
insert into t2 values (100);
924
select a from t1 union select a from t2 order by a;
928
SET SQL_SELECT_LIMIT=1;
929
select a from t1 union select a from t2 order by a;
933
set sql_select_limit=default;
934
CREATE TABLE t1 (i int default NULL,c char(1) default NULL,KEY i (i));
935
CREATE TABLE t2 (i int default NULL,c char(1) default NULL,KEY i (i));
936
explain (select * from t1) union (select * from t2) order by not_existing_column;
937
ERROR 42S22: Unknown column 'not_existing_column' in 'order clause'
939
CREATE TABLE t1 (uid int);
940
INSERT INTO t1 SELECT 150;
941
SELECT 'a' UNION SELECT uid FROM t1;
946
CREATE TABLE t1 ( ID1 int NOT NULL DEFAULT '0' , ID2 datetime, DATA1 varchar(10) , DATA2 double(5,4) , DATA3 datetime , PRIMARY KEY (ID1,ID2));
947
CREATE TABLE t2 ( ID int NOT NULL DEFAULT '0' , DATA1 timestamp NULL, PRIMARY KEY (ID));
948
(SELECT * FROM t1 AS PARTITIONED, t2 AS
949
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
950
(SELECT * FROM t1 AS PARTITIONED, t2 AS
951
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
952
(SELECT * FROM t1 AS PARTITIONED, t2 AS
953
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
954
(SELECT * FROM t1 AS PARTITIONED, t2 AS
955
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
956
(SELECT * FROM t1 AS PARTITIONED, t2 AS
957
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
958
(SELECT * FROM t1 AS PARTITIONED, t2 AS
959
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
960
(SELECT * FROM t1 AS PARTITIONED, t2 AS
961
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
962
(SELECT * FROM t1 AS PARTITIONED, t2 AS
963
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
964
(SELECT * FROM t1 AS PARTITIONED, t2 AS
965
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
966
(SELECT * FROM t1 AS PARTITIONED, t2 AS
967
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
968
(SELECT * FROM t1 AS PARTITIONED, t2 AS
969
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
970
(SELECT * FROM t1 AS PARTITIONED, t2 AS
971
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
972
ID1 ID2 DATA1 DATA2 DATA3 ID DATA1
974
create table t1 (a ENUM('Yes', 'No') NOT NULL);
975
create table t2 (a ENUM('aaa', 'bbb') NOT NULL);
976
insert into t1 values ('No');
977
insert into t2 values ('bbb');
978
create table t3 (a ENUM('Yes', 'No') NOT NULL);
979
create table t4 (a ENUM('aaa', 'bbb') NOT NULL);
980
insert into t3 values (1);
981
insert into t4 values (3);
982
ERROR HY000: Received an invalid enum value '3'.
983
select "1" as a union select a from t1;
987
select a as a from t1 union select "1";
991
select a as a from t2 union select a from t1;
995
select "1" as a union select a from t3;
999
select a as a from t3 union select "1";
1003
select a as a from t4 union select a from t3;
1006
select a as a from t1 union select a from t4;
1009
drop table t1,t2,t3,t4;
1011
(select 'test') union
1012
(select 'TEST') union
1014
show create table t1;
1016
t1 CREATE TABLE `t1` (
1017
`test` varchar(4) NOT NULL DEFAULT ''
1019
select count(*) from t1;
1024
(select 'test' collate utf8_bin) union
1025
(select 'TEST') union
1027
show create table t1;
1029
t1 CREATE TABLE `t1` (
1030
`'test' collate utf8_bin` varchar(4) COLLATE utf8_bin DEFAULT NULL
1032
select count(*) from t1;
1037
(select 'test') union
1038
(select 'TEST' collate utf8_bin) union
1040
show create table t1;
1042
t1 CREATE TABLE `t1` (
1043
`test` varchar(4) COLLATE utf8_bin DEFAULT NULL
1045
select count(*) from t1;
1050
(select 'test') union
1051
(select 'TEST') union
1052
(select 'TeST' collate utf8_bin);
1053
show create table t1;
1055
t1 CREATE TABLE `t1` (
1056
`test` varchar(4) COLLATE utf8_bin DEFAULT NULL
1058
select count(*) from t1;
1063
a char character set utf8 collate utf8_swedish_ci,
1064
b char character set utf8 collate utf8_spanish_ci);
1065
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near 'character set utf8 collate utf8_swedish_ci,
1066
b char character set utf8 collate ut' at line 2
1068
a char collate utf8_swedish_ci,
1069
b char collate utf8_spanish_ci);
1071
(select a from t2) union
1073
ERROR HY000: Illegal mix of collations for operation 'UNION'
1075
(select a collate utf8_swedish_ci from t2) union
1077
ERROR 42000: Incorrect column name 'a collate utf8_swedish_ci '
1079
(select a from t2) union
1080
(select b collate utf8_swedish_ci from t2);
1081
show create table t1;
1083
t1 CREATE TABLE `t1` (
1084
`a` varchar(1) COLLATE utf8_swedish_ci DEFAULT NULL
1088
(select a from t2) union
1089
(select b from t2) union
1090
(select 'c' collate utf8_spanish_ci from t2);
1091
show create table t1;
1093
t1 CREATE TABLE `t1` (
1094
`a` varchar(1) COLLATE utf8_spanish_ci DEFAULT NULL
1098
create table t1(a1 int, f1 char(10));
1100
select f2,a1 from (select a1, CAST('2004-12-31' AS DATE) f2 from t1) a
1102
select f2,a1 from (select a1, CAST('2004-12-31' AS DATE) f2 from t1) a
1104
show columns from t2;
1105
Field Type Null Default Default_is_NULL On_Update
1107
a1 INTEGER TRUE TRUE
1109
create table t1 (f1 int);
1110
create table t2 (f1 int, f2 int ,f3 date);
1111
create table t3 (f1 int, f2 char(10));
1114
select t2.f3 as sdate
1116
left outer join t2 on (t1.f1 = t2.f1)
1117
inner join t3 on (t2.f2 = t3.f1)
1118
order by t1.f1, t3.f1, t2.f3
1122
select cast('2004-12-31' as date) as sdate
1124
left outer join t2 on (t1.f1 = t2.f1)
1125
inner join t3 on (t2.f2 = t3.f1)
1127
order by t1.f1, t3.f1, t2.f3
1130
show columns from t4;
1131
Field Type Null Default Default_is_NULL On_Update
1132
sdate DATE TRUE TRUE
1133
drop table t1, t2, t3, t4;
1134
create table t1 (a int not null, b char (10) not null);
1135
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
1136
select * from ((select * from t1 limit 1)) a;
1139
select * from ((select * from t1 limit 1) union (select * from t1 limit 1)) a;
1142
select * from ((select * from t1 limit 1) union (select * from t1 limit 1) union (select * from t1 limit 1)) a;
1145
select * from ((((select * from t1))) union (select * from t1) union (select * from t1)) a;
1150
select * from ((select * from t1) union (((select * from t1))) union (select * from t1)) a;
1157
select concat('value is: ', @val) union select 'some text';
1158
concat('value is: ', @val)
1161
select concat('a', 'b' collate utf8_bin);
1162
concat('a', 'b' collate utf8_bin)
1164
create table t1 (foo varchar(100)) collate utf8_bin;
1165
insert into t1 (foo) values ("foo");
1166
select foo from t1 union select 'bar' as foo from dual;
1167
ERROR 42S02: Table 'test.dual' doesn't exist
1168
select foo from t1 union select 'bar' as foo;
1173
create table t1 (f1 decimal(60,25), f2 decimal(60,25));
1174
insert into t1 values (0.0,0.0);
1175
select f1 from t1 union all select f2 from t1;
1177
0.0000000000000000000000000
1178
0.0000000000000000000000000
1179
select 'XXXXXXXXXXXXXXXXXXXX' as description, f1 from t1
1181
select 'YYYYYYYYYYYYYYYYYYYY' as description, f2 from t1;
1183
XXXXXXXXXXXXXXXXXXXX 0.0000000000000000000000000
1184
YYYYYYYYYYYYYYYYYYYY 0.0000000000000000000000000
1186
create table t1 (f1 decimal(60,24), f2 decimal(60,24));
1187
insert into t1 values (0.0,0.0);
1188
select f1 from t1 union all select f2 from t1;
1190
0.000000000000000000000000
1191
0.000000000000000000000000
1192
select 'XXXXXXXXXXXXXXXXXXXX' as description, f1 from t1
1194
select 'YYYYYYYYYYYYYYYYYYYY' as description, f2 from t1;
1196
XXXXXXXXXXXXXXXXXXXX 0.000000000000000000000000
1197
YYYYYYYYYYYYYYYYYYYY 0.000000000000000000000000
1199
create table t1 (a varchar(5));
1200
create table t2 select * from t1 union select 'abcdefghijkl';
1201
show create table t2;
1203
t2 CREATE TABLE `t2` (
1204
`a` varchar(5) DEFAULT NULL
1206
select row_format from data_dictionary.TABLES where table_schema="test" and table_name="t2";
1209
show create table t2;
1211
t2 CREATE TABLE `t2` (
1212
`a` varchar(5) DEFAULT NULL
1215
CREATE TABLE t1 (a mediumtext);
1216
CREATE TABLE t2 (b varchar(20));
1217
INSERT INTO t1 VALUES ('a'),('b');
1218
SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
1222
create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
1223
show create table t3;
1225
t3 CREATE TABLE `t3` (
1226
`left(a,100000000)` text
1228
drop tables t1,t2,t3;
1229
CREATE TABLE t1 (a longtext);
1230
CREATE TABLE t2 (b varchar(20));
1231
INSERT INTO t1 VALUES ('a'),('b');
1232
SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
1236
create table t3 SELECT left(a,100000000) FROM t1 UNION SELECT b FROM t2;
1237
show create table t3;
1239
t3 CREATE TABLE `t3` (
1240
`left(a,100000000)` text
1242
drop tables t1,t2,t3;
1243
SELECT @tmp_max:= @@max_allowed_packet;
1244
@tmp_max:= @@max_allowed_packet
1246
SET max_allowed_packet=25000000;
1247
CREATE TABLE t1 (a mediumtext);
1248
CREATE TABLE t2 (b varchar(20));
1249
INSERT INTO t1 VALUES ('a');
1250
CREATE TABLE t3 SELECT REPEAT(a,20000000) AS a FROM t1 UNION SELECT b FROM t2;
1251
SHOW CREATE TABLE t3;
1253
t3 CREATE TABLE `t3` (
1257
CREATE TABLE t1 (a tinytext);
1258
INSERT INTO t1 VALUES ('a');
1259
CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
1260
SHOW CREATE TABLE t3;
1262
t3 CREATE TABLE `t3` (
1266
CREATE TABLE t1 (a mediumtext);
1267
INSERT INTO t1 VALUES ('a');
1268
CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
1269
SHOW CREATE TABLE t3;
1271
t3 CREATE TABLE `t3` (
1275
CREATE TABLE t1 (a tinyblob);
1276
INSERT INTO t1 VALUES ('a');
1277
CREATE TABLE t3 SELECT REPEAT(a,2) AS a FROM t1 UNION SELECT b FROM t2;
1278
SHOW CREATE TABLE t3;
1280
t3 CREATE TABLE `t3` (
1283
DROP TABLES t1,t2,t3;
1284
SET max_allowed_packet:= @tmp_max;
1285
create table t1 ( id int not null auto_increment, primary key (id), col1 int);
1286
insert into t1 (col1) values (2),(3),(4),(5),(6);
1287
select 99 union all select id from t1 order by 1;
1295
select id from t1 union all select 99 order by 1;
1304
create table t1(f1 char(1), f2 char(5), f3 blob, f4 blob, f5 timestamp, f6 varchar(1) collate utf8_general_ci, f7 text);
1305
create table t2 as select *, f6 as f8 from t1 union select *, f7 from t1;
1306
show create table t2;
1308
t2 CREATE TABLE `t2` (
1309
`f1` varchar(1) DEFAULT NULL,
1310
`f2` varchar(5) DEFAULT NULL,
1313
`f5` timestamp NULL DEFAULT NULL,
1314
`f6` varchar(1) DEFAULT NULL,
1319
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1320
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1321
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1322
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1323
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1324
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1325
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1326
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1327
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1328
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1329
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1330
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1331
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1332
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1333
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1334
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1335
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1336
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1337
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1338
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1339
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1340
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1341
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1342
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1343
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1344
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1345
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1346
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1347
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1348
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1349
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1350
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1351
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1352
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1353
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1354
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1355
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1356
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1357
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1358
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1359
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1360
(select avg(1)) union (select avg(1)) union (select avg(1)) union
1361
(select avg(1)) union (select avg(1)) union (select avg(1));
1364
select '12' union select '12345';
1367
CREATE TABLE t1 (a int);
1368
INSERT INTO t1 VALUES (3),(1),(2),(4),(1);
1369
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a) AS test;
1375
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY c) AS test;
1376
ERROR 42S22: Unknown column 'c' in 'order clause'
1378
(select 1 into @var) union (select 1);
1379
ERROR HY000: Incorrect usage of UNION and INTO
1380
(select 1) union (select 1 into @var);
1384
(select 2) union (select 1 into @var);
1385
ERROR 42000: Result consisted of more than one row
1386
CREATE TABLE t1 (a int);
1387
INSERT INTO t1 VALUES (10), (20);
1388
CREATE TABLE t2 (b int);
1389
INSERT INTO t2 VALUES (10), (50), (50);
1392
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
1401
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
1410
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
1411
ORDER BY a ASC LIMIT 3;
1418
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP
1428
(SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a);
1429
ERROR HY000: Incorrect usage of CUBE/ROLLUP and ORDER BY
1432
SELECT b, COUNT(*) FROM t2 GROUP BY b WITH ROLLUP ORDER BY a
1435
ERROR HY000: Incorrect usage of UNION and order_st BY
1437
CREATE TABLE t1 (a INT);
1438
INSERT INTO t1 VALUES (1), (2), (3);
1439
CREATE TABLE t2 SELECT * FROM (SELECT NULL) a UNION SELECT a FROM t1;
1441
Field Type Null Default Default_is_NULL On_Update
1442
NULL INTEGER TRUE TRUE
1443
CREATE TABLE t3 SELECT a FROM t1 UNION SELECT * FROM (SELECT NULL) a;
1445
Field Type Null Default Default_is_NULL On_Update
1447
CREATE TABLE t4 SELECT NULL;
1449
Field Type Null Default Default_is_NULL On_Update
1450
NULL VARCHAR TRUE TRUE
1451
CREATE TABLE t5 SELECT NULL UNION SELECT NULL;
1453
Field Type Null Default Default_is_NULL On_Update
1454
NULL VARCHAR TRUE TRUE
1456
SELECT * FROM (SELECT * FROM (SELECT NULL)a) b UNION SELECT a FROM t1;
1458
Field Type Null Default Default_is_NULL On_Update
1459
NULL INTEGER TRUE TRUE
1460
DROP TABLE t1, t2, t3, t4, t5, t6;