1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-26 11:48:52 +03:00

923 lines
15 KiB
Plaintext

SET default_storage_engine=ColumnStore;
DROP DATABASE IF EXISTS mcs_union;
CREATE DATABASE mcs_union;
USE mcs_union;
#
# MCOL-4700 Wrong result of a UNION for INT and INT UNSIGNED
#
# Move the UNIONs from the subqueries to outer selects and add
# ORDER BY clause after MCOL-5222 is fixed
#
CREATE TABLE t1 (a INT, b INT UNSIGNED);
INSERT INTO t1 VALUES (-1, 1), (-1, 1), (-2, 2);
SELECT * FROM (SELECT * FROM t1 UNION SELECT * FROM t1) tu ORDER BY b;
a b
-1 1
-2 2
SELECT * FROM (SELECT a FROM t1 UNION SELECT b FROM t1) tu ORDER BY a;
a
-2
-1
1
2
SELECT * FROM (SELECT b FROM t1 UNION SELECT a FROM t1) tu ORDER BY b;
b
-2
-1
1
2
DROP TABLE t1;
#
# Multiple Columns Union
#
CREATE TABLE t1 (a INT, b INT, c INT);
INSERT INTO t1 VALUES (-1, 1, 0), (-2, 2, 0), (-3, 3, 0), (-4, 4, 0), (-5, 5, 0), (-1, 1, 0), (-2, 2, 0), (-3, 3, 0), (-4, 4, 0), (-5, 5, 0);
SELECT * FROM (SELECT * FROM t1 UNION ALL SELECT * FROM t1) tu ORDER BY b;
a b c
-1 1 0
-1 1 0
-1 1 0
-1 1 0
-2 2 0
-2 2 0
-2 2 0
-2 2 0
-3 3 0
-3 3 0
-3 3 0
-3 3 0
-4 4 0
-4 4 0
-4 4 0
-4 4 0
-5 5 0
-5 5 0
-5 5 0
-5 5 0
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT b FROM t1) tu ORDER BY a;
a
-5
-5
-4
-4
-3
-3
-2
-2
-1
-1
1
1
2
2
3
3
4
4
5
5
SELECT * FROM (SELECT b FROM t1 UNION ALL SELECT a FROM t1) tu ORDER BY b;
b
-5
-5
-4
-4
-3
-3
-2
-2
-1
-1
1
1
2
2
3
3
4
4
5
5
DROP TABLE t1;
#
# Same Int Type Union
#
CREATE TABLE t1 (a INT UNSIGNED, b INT UNSIGNED);
INSERT INTO t1 VALUES (1, 1), (1, 1), (2, 1), (2, 1), (3, 2), (4, 2), (5, 2);
SELECT * FROM (SELECT a FROM t1 UNION SELECT b FROM t1) tu ORDER BY a;
a
1
2
3
4
5
SELECT * FROM (SELECT b FROM t1 UNION SELECT a FROM t1) tu ORDER BY b;
b
1
2
3
4
5
SELECT * FROM (SELECT * FROM t1 UNION SELECT * FROM t1) tu ORDER BY a;
a b
1 1
2 1
3 2
4 2
5 2
DROP TABLE t1;
CREATE TABLE t1 (a INT, b INT);
INSERT INTO t1 VALUES (-1, -1), (-1, -1), (2, 1), (2, 1), (3, 2), (4, 2), (5, 2);
SELECT * FROM (SELECT a FROM t1 UNION SELECT b FROM t1) tu ORDER BY a;
a
-1
1
2
3
4
5
SELECT * FROM (SELECT b FROM t1 UNION SELECT a FROM t1) tu ORDER BY b;
b
-1
1
2
3
4
5
SELECT * FROM (SELECT * FROM t1 UNION SELECT * FROM t1) tu ORDER BY a;
a b
-1 -1
2 1
3 2
4 2
5 2
DROP TABLE t1;
#
# Signed Int Union
#
CREATE TABLE t1 (a TINYINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFFFF80 AS SIGNED)+2),(-1),(0),(1),(0x7F);
CREATE TABLE t2 (a SMALLINT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFFFFFF8000 AS SIGNED)+2),(-1),(0),(1),(0x7FFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-32766
-126
-1
-1
0
0
1
1
127
32767
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-32766
-126
-1
-1
0
0
1
1
127
32767
DROP TABLE t2;
CREATE TABLE t2 (a MEDIUMINT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-8388606
-126
-1
-1
0
0
1
1
127
8388607
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-8388606
-126
-1
-1
0
0
1
1
127
8388607
DROP TABLE t2;
CREATE TABLE t2 (a INT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-2147483646
-126
-1
-1
0
0
1
1
127
2147483647
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-2147483646
-126
-1
-1
0
0
1
1
127
2147483647
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT);
INSERT INTO t2 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-126
-1
-1
0
0
1
1
127
9223372036854775807
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-126
-1
-1
0
0
1
1
127
9223372036854775807
DROP TABLE t1,t2;
CREATE TABLE t1 (a SMALLINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFF8000 AS SIGNED)+2),(-1),(0),(1),(0x7FFF);
CREATE TABLE t2 (a MEDIUMINT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-8388606
-32766
-1
-1
0
0
1
1
32767
8388607
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-8388606
-32766
-1
-1
0
0
1
1
32767
8388607
DROP TABLE t2;
CREATE TABLE t2 (a INT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-2147483646
-32766
-1
-1
0
0
1
1
32767
2147483647
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-2147483646
-32766
-1
-1
0
0
1
1
32767
2147483647
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT);
INSERT INTO t2 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-32766
-1
-1
0
0
1
1
32767
9223372036854775807
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-32766
-1
-1
0
0
1
1
32767
9223372036854775807
DROP TABLE t1,t2;
CREATE TABLE t1 (a MEDIUMINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
CREATE TABLE t2 (a INT);
INSERT INTO t2 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-2147483646
-8388606
-1
-1
0
0
1
1
8388607
2147483647
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-2147483646
-8388606
-1
-1
0
0
1
1
8388607
2147483647
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT);
INSERT INTO t2 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-8388606
-1
-1
0
0
1
1
8388607
9223372036854775807
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-8388606
-1
-1
0
0
1
1
8388607
9223372036854775807
DROP TABLE t1,t2;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
CREATE TABLE t2 (a BIGINT);
INSERT INTO t2 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-2147483646
-1
-1
0
0
1
1
2147483647
9223372036854775807
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-2147483646
-1
-1
0
0
1
1
2147483647
9223372036854775807
DROP TABLE t1,t2;
#
# Unsigned Int Union
#
CREATE TABLE t1 (a TINYINT UNSIGNED);
INSERT INTO t1 VALUES (0),(1),(0xFF-2);
CREATE TABLE t2 (a SMALLINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
253
65533
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
253
65533
DROP TABLE t2;
CREATE TABLE t2 (a MEDIUMINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
253
16777213
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
253
16777213
DROP TABLE t2;
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
253
4294967293
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
253
4294967293
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
253
18446744073709551613
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
253
18446744073709551613
DROP TABLE t1,t2;
CREATE TABLE t1 (a SMALLINT UNSIGNED);
INSERT INTO t1 VALUES (0),(1),(0xFFFF-2);
CREATE TABLE t2 (a MEDIUMINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
65533
16777213
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
65533
16777213
DROP TABLE t2;
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
65533
4294967293
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
65533
4294967293
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
65533
18446744073709551613
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
65533
18446744073709551613
DROP TABLE t1,t2;
CREATE TABLE t1 (a MEDIUMINT UNSIGNED);
INSERT INTO t1 VALUES (0),(1),(0xFFFFFF-2);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
16777213
4294967293
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
16777213
4294967293
DROP TABLE t2;
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
16777213
18446744073709551613
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
16777213
18446744073709551613
DROP TABLE t1,t2;
CREATE TABLE t1 (a INT UNSIGNED);
INSERT INTO t1 VALUES (0),(1),(0xFFFFFFFF-2);
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
0
0
1
1
4294967293
18446744073709551613
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
0
0
1
1
4294967293
18446744073709551613
DROP TABLE t1,t2;
#
# Same Size Different Signedness Int Union
#
CREATE TABLE t1 (a TINYINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFFFF80 AS SIGNED)+2),(-1),(0),(1),(0x7F);
CREATE TABLE t2 (a TINYINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-126
-1
0
0
1
1
127
253
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-126
-1
0
0
1
1
127
253
DROP TABLE t1,t2;
CREATE TABLE t1 (a SMALLINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFF8000 AS SIGNED)+2),(-1),(0),(1),(0x7FFF);
CREATE TABLE t2 (a SMALLINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT * FROM t2) tu ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
DROP TABLE t1,t2;
CREATE TABLE t1 (a MEDIUMINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
CREATE TABLE t2 (a MEDIUMINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
DROP TABLE t1,t2;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFF80000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-2147483646
-1
0
0
1
1
2147483647
4294967293
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-2147483646
-1
0
0
1
1
2147483647
4294967293
DROP TABLE t1,t2;
CREATE TABLE t1 (a BIGINT);
INSERT INTO t1 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
CREATE TABLE t2 (a BIGINT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFFFFFFFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
9223372036854775807
18446744073709551613
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
9223372036854775807
18446744073709551613
DROP TABLE t1,t2;
#
# Different Size Different Signedness Int Union
#
CREATE TABLE t1 (a TINYINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFFFF80 AS SIGNED)+2),(-1),(0),(1),(0x7F);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT * FROM t2) tu ORDER BY a;
a
-126
-1
0
0
1
1
127
65533
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-126
-1
0
0
1
1
127
65533
DROP TABLE t1,t2;
CREATE TABLE t1 (a SMALLINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFFFF8000 AS SIGNED)+2),(-1),(0),(1),(0x7FFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT * FROM t2) tu ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-32766
-1
0
0
1
1
32767
65533
DROP TABLE t1,t2;
CREATE TABLE t1 (a MEDIUMINT);
INSERT INTO t1 VALUES (CAST(0xFFFFFFFFFF800000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-8388606
-1
0
0
1
1
8388607
16777213
DROP TABLE t1,t2;
CREATE TABLE t1 (a BIGINT);
INSERT INTO t1 VALUES (CAST(0x8000000000000000 AS SIGNED)+2),(-1),(0),(1),(0x7FFFFFFFFFFFFFFF);
CREATE TABLE t2 (a INT UNSIGNED);
INSERT INTO t2 VALUES (0),(1),(0xFFFFFF-2);
SELECT * FROM (SELECT a FROM t1 UNION ALL SELECT a FROM t2) tu ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
16777213
9223372036854775807
SELECT * FROM (SELECT a FROM t2 UNION ALL SELECT a FROM t1) tu ORDER BY a;
a
-9223372036854775806
-1
0
0
1
1
16777213
9223372036854775807
DROP TABLE t1,t2;
#
# Union of tables containing different string data types
#
# Remove the sorted_result MTR qualifier and add ORDER BY clause
# after MCOL-5222 is fixed
#
CREATE TABLE t1 (a CHAR(6));
INSERT INTO t1 VALUES ('t13abc'), ('t13xx'), ('common');
CREATE TABLE t2 (a VARCHAR(8));
INSERT INTO t2 VALUES ('t14abcde'), ('t14xyzzz'), ('common');
SELECT * FROM t1 UNION SELECT * FROM t2;
a
common
t13abc
t13xx
t14abcde
t14xyzzz
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2;
id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t2 UNION ALL SELECT * FROM t1;
a
common
common
t13abc
t13xx
t14abcde
t14xyzzz
EXPLAIN SELECT * FROM t2 UNION ALL SELECT * FROM t1;
id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 UNION SELECT * FROM t2 UNION SELECT '123456789000';
a
123456789000
common
t13abc
t13xx
t14abcde
t14xyzzz
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2 UNION SELECT '123456789000';
id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 UNION SELECT '123456789000' UNION SELECT * FROM t2;
a
123456789000
common
t13abc
t13xx
t14abcde
t14xyzzz
EXPLAIN SELECT * FROM t1 UNION SELECT '123456789000' UNION SELECT * FROM t2;
id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
DROP TABLE t1,t2;
DROP DATABASE mcs_union;