mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-11953: support of brackets in UNION/EXCEPT/INTERSECT operations
This commit is contained in:
@ -81,7 +81,7 @@ a b
|
||||
2 b
|
||||
1 a
|
||||
(select a,b from t1 limit 2) union all (select a,b from t2 order by a limit 1) order by t1.b;
|
||||
ERROR 42000: Table 't1' from one of the SELECTs cannot be used in global ORDER clause
|
||||
ERROR 42000: Table 't1' from one of the SELECTs cannot be used in ORDER clause
|
||||
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;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 4 100.00
|
||||
@ -494,7 +494,7 @@ drop temporary table t1;
|
||||
create table t1 select a from t1 union select a from t2;
|
||||
ERROR 42S01: Table 't1' already exists
|
||||
select a from t1 union select a from t2 order by t2.a;
|
||||
ERROR 42000: Table 't2' from one of the SELECTs cannot be used in field list
|
||||
ERROR 42000: Table 't2' from one of the SELECTs cannot be used in ORDER clause
|
||||
drop table t1,t2;
|
||||
select length(version()) > 1 as `*` UNION select 2;
|
||||
*
|
||||
@ -1532,12 +1532,15 @@ SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY c) AS test;
|
||||
ERROR 42S22: Unknown column 'c' in 'order clause'
|
||||
DROP TABLE t1;
|
||||
(select 1 into @var) union (select 1);
|
||||
ERROR HY000: Incorrect usage of UNION and INTO
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'into @var) union (select 1)' at line 1
|
||||
(select 1) union (select 1 into @var);
|
||||
select @var;
|
||||
@var
|
||||
1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'into @var)' at line 1
|
||||
(select 2) union (select 1 into @var);
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'into @var)' at line 1
|
||||
(select 1) union (select 1) into @var;
|
||||
Warnings:
|
||||
Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
|
||||
(select 2) union (select 1) into @var;
|
||||
ERROR 42000: Result consisted of more than one row
|
||||
CREATE TABLE t1 (a int);
|
||||
INSERT INTO t1 VALUES (10), (20);
|
||||
@ -1663,8 +1666,20 @@ UNION
|
||||
SELECT a FROM t1 WHERE 0
|
||||
) alias;
|
||||
SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM t1' at line 1
|
||||
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM t1' at line 1
|
||||
SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM t1' at line 1
|
||||
SELECT a FROM t1 UNION SELECT a FROM t1 INTO @v ;
|
||||
Warnings:
|
||||
Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
|
||||
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file5';
|
||||
Warnings:
|
||||
Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
|
||||
SELECT a FROM t1 UNION SELECT a FROM t1 INTO OUTFILE 'union.out.file6';
|
||||
Warnings:
|
||||
Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be removed in a future release. Please use 'SELECT <select list> INTO <destination> FROM...' instead
|
||||
SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UNION SELECT a FROM t1' at line 1
|
||||
SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1;
|
||||
@ -2019,14 +2034,14 @@ SET @@global.slow_query_log= @old_slow_query_log;
|
||||
CREATE TABLE t1 (a int);
|
||||
CREATE TABLE t2 (b int);
|
||||
CREATE TABLE t3 (c int);
|
||||
SELECT a FROM t1 UNION SELECT b FROM t2 JOIN (t3) ON ( t2.b = t3.c );
|
||||
SELECT a FROM t1 UNION SELECT b FROM t2 JOIN t3 ON ( t2.b = t3.c );
|
||||
a
|
||||
DROP TABLE t1, t2, t3;
|
||||
CREATE TABLE t1 (pk int NOT NULL);
|
||||
CREATE TABLE t2 (pk int NOT NULL, fk int NOT NULL);
|
||||
SELECT t1.pk FROM t1 LEFT JOIN (t2) ON (t1.pk = t2.fk)
|
||||
SELECT t1.pk FROM t1 LEFT JOIN t2 ON (t1.pk = t2.fk)
|
||||
UNION
|
||||
SELECT t1.pk FROM t1 LEFT JOIN (t2) ON (t1.pk = t2.fk);
|
||||
SELECT t1.pk FROM t1 LEFT JOIN t2 ON (t1.pk = t2.fk);
|
||||
pk
|
||||
DROP TABLE t1,t2;
|
||||
create table t1 (a int);
|
||||
|
Reference in New Issue
Block a user