mirror of
https://github.com/MariaDB/server.git
synced 2025-10-31 15:50:51 +03:00
Merge
This commit is contained in:
@@ -747,7 +747,7 @@ insert into t1 values (now());
|
||||
create table t2 select f2 from (select max(now()) f2 from t1) a;
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
f2 datetime 0000-00-00 00:00:00
|
||||
f2 datetime YES NULL
|
||||
drop table t2;
|
||||
create table t2 select f2 from (select now() f2 from t1) a;
|
||||
show columns from t2;
|
||||
|
||||
@@ -55,8 +55,33 @@ id data data
|
||||
2 female no
|
||||
select t1.id from t1 union select t2.id from t2;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def test t1 t1 id id 1 3 1 Y 32768 0 63
|
||||
def id id 1 4 1 Y 32768 0 63
|
||||
id
|
||||
1
|
||||
2
|
||||
drop table t1,t2;
|
||||
create table t1 ( a int, b varchar(30), primary key(a));
|
||||
insert into t1 values (1,'one');
|
||||
insert into t1 values (2,'two');
|
||||
set @arg00=1 ;
|
||||
select @arg00 FROM t1 where a=1 union distinct select 1 FROM t1 where a=1;
|
||||
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def @arg00 @arg00 8 20 1 Y 32768 0 63
|
||||
@arg00
|
||||
1
|
||||
select * from (select @arg00) aaa;
|
||||
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def aaa @arg00 @arg00 8 20 1 Y 32768 0 63
|
||||
@arg00
|
||||
1
|
||||
select 1 union select 1;
|
||||
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def 1 1 8 20 1 N 32769 0 63
|
||||
1
|
||||
1
|
||||
select * from (select 1 union select 1) aaa;
|
||||
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def aaa 1 1 8 20 1 N 32769 0 63
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
|
||||
@@ -1873,6 +1873,380 @@ SELECT a FROM t1 WHERE a <> ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) = ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) <> ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
a
|
||||
SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a > t1.a), '-') from t1 a;
|
||||
concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a > t1.a), '-')
|
||||
0-
|
||||
0-
|
||||
1-
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a < t1.a), '-') from t1 a;
|
||||
concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a < t1.a), '-')
|
||||
1-
|
||||
0-
|
||||
0-
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a = t1.a), '-') from t1 a;
|
||||
concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a = t1.a), '-')
|
||||
0-
|
||||
1-
|
||||
0-
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 ( a double, b double );
|
||||
INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
a
|
||||
1
|
||||
3
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 ( a char(1), b char(1));
|
||||
INSERT INTO t1 VALUES ('1','1'),('2','2'),('3','3');
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
3
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
3
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
2
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
2
|
||||
3
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
2
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
a
|
||||
1
|
||||
3
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,2),(3,4);
|
||||
@@ -2128,7 +2502,7 @@ drop table t1;
|
||||
create table t1 (a1 int);
|
||||
create table t2 (b1 int);
|
||||
select * from t1 where a2 > any(select b1 from t2);
|
||||
ERROR 42S22: Unknown column 'a2' in 'scalar IN/ALL/ANY subquery'
|
||||
ERROR 42S22: Unknown column 'a2' in 'IN/ALL/ANY subquery'
|
||||
select * from t1 where a1 > any(select b1 from t2);
|
||||
a1
|
||||
drop table t1,t2;
|
||||
@@ -2267,4 +2641,59 @@ pass userid parentid parentgroup childid groupname grouptypeid crse categoryid c
|
||||
1 5141 12 group2 12 group2 5 1 1 87 Oct04
|
||||
1 5141 12 group2 12 group2 5 1 2 88 Oct04
|
||||
1 5141 12 group2 12 group2 5 1 2 89 Oct04
|
||||
drop table if exists t1, t2, t3, t4, t5;
|
||||
drop table t1, t2, t3, t4, t5;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1), (2), (3);
|
||||
SELECT 1 FROM t1 WHERE (SELECT 1) in (SELECT 1);
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
create table t2 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
insert into t2 values (0),(1),(2),(3);
|
||||
select a from t2 where a in (select a from t1);
|
||||
a
|
||||
1
|
||||
2
|
||||
select a from t2 having a in (select a from t1);
|
||||
a
|
||||
1
|
||||
2
|
||||
prepare stmt1 from "select a from t2 where a in (select a from t1)";
|
||||
execute stmt1;
|
||||
a
|
||||
1
|
||||
2
|
||||
execute stmt1;
|
||||
a
|
||||
1
|
||||
2
|
||||
deallocate prepare stmt1;
|
||||
prepare stmt1 from "select a from t2 having a in (select a from t1)";
|
||||
execute stmt1;
|
||||
a
|
||||
1
|
||||
2
|
||||
execute stmt1;
|
||||
a
|
||||
1
|
||||
2
|
||||
deallocate prepare stmt1;
|
||||
drop table t1, t2;
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,2);
|
||||
select 1 = (select * from t1);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
select (select * from t1) = 1;
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
select (1,2) = (select a from t1);
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
select (select a from t1) = (1,2);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
select (1,2,3) = (select * from t1);
|
||||
ERROR 21000: Operand should contain 3 column(s)
|
||||
select (select * from t1) = (1,2,3);
|
||||
ERROR 21000: Operand should contain 2 column(s)
|
||||
|
||||
@@ -655,7 +655,7 @@ f
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f` binary(24) default NULL
|
||||
`f` varbinary(24) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT y from t2 UNION select da from t2;
|
||||
@@ -666,7 +666,7 @@ y
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`y` binary(10) default NULL
|
||||
`y` varbinary(10) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT y from t2 UNION select dt from t2;
|
||||
@@ -677,7 +677,7 @@ y
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`y` binary(19) default NULL
|
||||
`y` varbinary(19) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT da from t2 UNION select dt from t2;
|
||||
@@ -699,7 +699,7 @@ testc
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`dt` binary(19) default NULL
|
||||
`dt` varbinary(19) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT dt from t2 UNION select sv from t2;
|
||||
@@ -710,7 +710,7 @@ testv
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`dt` binary(19) default NULL
|
||||
`dt` varbinary(19) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT sc from t2 UNION select sv from t2;
|
||||
@@ -732,7 +732,7 @@ tetetetetest
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`dt` blob
|
||||
`dt` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT sv from t2 UNION select b from t2;
|
||||
@@ -755,7 +755,7 @@ tetetetetest
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`i` blob
|
||||
`i` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT sv from t2 UNION select tx from t2;
|
||||
@@ -766,7 +766,7 @@ teeeeeeeeeeeest
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`sv` text
|
||||
`sv` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
create table t1 SELECT b from t2 UNION select tx from t2;
|
||||
@@ -1069,7 +1069,7 @@ create table t1 as
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`_latin1'test' collate latin1_bin` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
`_latin1'test' collate latin1_bin` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
@@ -1082,7 +1082,7 @@ create table t1 as
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
`test` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
@@ -1095,7 +1095,7 @@ create table t1 as
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test` char(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
`test` varchar(4) character set latin1 collate latin1_bin NOT NULL default ''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
@@ -1200,3 +1200,38 @@ select concat('value is: ', @val) union select 'some text';
|
||||
concat('value is: ', @val)
|
||||
value is: 6
|
||||
some text
|
||||
CREATE TABLE t1 (
|
||||
a ENUM('<27>','<27>','<27>') character set utf8 not null default '<27>',
|
||||
b ENUM("one", "two") character set utf8,
|
||||
c ENUM("one", "two")
|
||||
);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` enum('<27>','<27>','<27>') character set utf8 NOT NULL default '<27>',
|
||||
`b` enum('one','two') character set utf8 default NULL,
|
||||
`c` enum('one','two') default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
insert into t1 values ('<27>', 'one', 'one'), ('<27>', 'two', 'one'), ('<27>', NULL, NULL);
|
||||
create table t2 select NULL union select a from t1;
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
NULL enum('<27>','<27>','<27>') YES NULL
|
||||
drop table t2;
|
||||
create table t2 select a from t1 union select NULL;
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
a enum('<27>','<27>','<27>') YES NULL
|
||||
drop table t2;
|
||||
create table t2 select a from t1 union select a from t1;
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
a char(1)
|
||||
drop table t2;
|
||||
create table t2 select a from t1 union select c from t1;
|
||||
ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation 'UNION'
|
||||
create table t2 select a from t1 union select b from t1;
|
||||
show columns from t2;
|
||||
Field Type Null Key Default Extra
|
||||
a varchar(3) YES NULL
|
||||
drop table t2, t1;
|
||||
|
||||
@@ -34,4 +34,17 @@ select t1.id, t1.data, t2.data from t1, t2 where t1.id = t2.id order by t1.id;
|
||||
select t1.id from t1 union select t2.id from t2;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# variables union and derived tables metadata test
|
||||
#
|
||||
create table t1 ( a int, b varchar(30), primary key(a));
|
||||
insert into t1 values (1,'one');
|
||||
insert into t1 values (2,'two');
|
||||
set @arg00=1 ;
|
||||
select @arg00 FROM t1 where a=1 union distinct select 1 FROM t1 where a=1;
|
||||
select * from (select @arg00) aaa;
|
||||
select 1 union select 1;
|
||||
select * from (select 1 union select 1) aaa;
|
||||
drop table t1;
|
||||
|
||||
--disable_metadata
|
||||
|
||||
@@ -1148,6 +1148,7 @@ SELECT a FROM t1 WHERE a = ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a >= ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a <= ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a <> ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
# with index
|
||||
ALTER TABLE t1 ADD INDEX (a);
|
||||
SELECT a FROM t1 WHERE a > ANY ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a < ANY ( SELECT a FROM t1 WHERE b = 2 );
|
||||
@@ -1161,7 +1162,144 @@ SELECT a FROM t1 WHERE a = ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a >= ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a <= ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
SELECT a FROM t1 WHERE a <> ALL ( SELECT a FROM t1 WHERE b = 2 );
|
||||
# having clause test
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2);
|
||||
# union test
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 UNION SELECT a FROM t1 WHERE b = 2);
|
||||
# union + having test
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 HAVING a = 2 UNION SELECT a FROM t1 HAVING a = 2);
|
||||
# row tests
|
||||
# < > >= <= and = ALL/ <> ANY do not support row operation
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) > ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) > ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) = ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) <> ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
# following should be converted to IN
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (1,2) = ANY (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a FROM t1 WHERE b = 2);
|
||||
-- error 1241
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (1,2) <> ALL (SELECT a,2 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 WHERE b = 2 UNION SELECT a,1 FROM t1 WHERE b = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) = ANY (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE (a,1) <> ALL (SELECT a,1 FROM t1 HAVING a = 2 UNION SELECT a,1 FROM t1 HAVING a = 2);
|
||||
# without optimisation
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2 group by a);
|
||||
# without optimisation + having
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 group by a HAVING a = 2);
|
||||
# EXISTS in string contence
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a > t1.a), '-') from t1 a;
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a < t1.a), '-') from t1 a;
|
||||
SELECT concat(EXISTS(SELECT a FROM t1 WHERE b = 2 and a.a = t1.a), '-') from t1 a;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 ( a double, b double );
|
||||
INSERT INTO t1 VALUES (1,1),(2,2),(3,3);
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = 2e0);
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 ( a char(1), b char(1));
|
||||
INSERT INTO t1 VALUES ('1','1'),('2','2'),('3','3');
|
||||
SELECT a FROM t1 WHERE a > ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a < ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a = ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a >= ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a <= ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a <> ANY (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a > ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a < ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a = ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a >= ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a <= ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
SELECT a FROM t1 WHERE a <> ALL (SELECT a FROM t1 WHERE b = '2');
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# SELECT(EXISTS * ...)optimisation
|
||||
@@ -1438,8 +1576,9 @@ select 1 = ALL (select 1 from t1 where 1 = xx ), 1 as xx;
|
||||
select 1 = ALL (select 1 from t1 where 1 = xx ), 1 as xx from DUAL;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test for BUG#8218
|
||||
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
categoryId int(11) NOT NULL,
|
||||
courseId int(11) NOT NULL,
|
||||
@@ -1536,5 +1675,50 @@ join
|
||||
group by
|
||||
groupstuff.groupname, colhead , t2.courseid;
|
||||
|
||||
drop table if exists t1, t2, t3, t4, t5;
|
||||
drop table t1, t2, t3, t4, t5;
|
||||
|
||||
#
|
||||
# Transformation in left expression of subquery (BUG#8888)
|
||||
#
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1), (2), (3);
|
||||
SELECT 1 FROM t1 WHERE (SELECT 1) in (SELECT 1);
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# subselect into HAVING clause (code covarage improvement)
|
||||
#
|
||||
create table t1 (a int);
|
||||
create table t2 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
insert into t2 values (0),(1),(2),(3);
|
||||
select a from t2 where a in (select a from t1);
|
||||
select a from t2 having a in (select a from t1);
|
||||
prepare stmt1 from "select a from t2 where a in (select a from t1)";
|
||||
execute stmt1;
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
prepare stmt1 from "select a from t2 having a in (select a from t1)";
|
||||
execute stmt1;
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# single row subqueries and row operations (code covarage improvement)
|
||||
#
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,2);
|
||||
-- error 1241
|
||||
select 1 = (select * from t1);
|
||||
-- error 1241
|
||||
select (select * from t1) = 1;
|
||||
-- error 1241
|
||||
select (1,2) = (select a from t1);
|
||||
-- error 1241
|
||||
select (select a from t1) = (1,2);
|
||||
-- error 1241
|
||||
select (1,2,3) = (select * from t1);
|
||||
-- error 1241
|
||||
select (select * from t1) = (1,2,3);
|
||||
drop table t1
|
||||
|
||||
@@ -717,3 +717,28 @@ drop table t1;
|
||||
#
|
||||
set @val:=6;
|
||||
select concat('value is: ', @val) union select 'some text';
|
||||
|
||||
#
|
||||
# Enum merging test
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a ENUM('<27>','<27>','<27>') character set utf8 not null default '<27>',
|
||||
b ENUM("one", "two") character set utf8,
|
||||
c ENUM("one", "two")
|
||||
);
|
||||
show create table t1;
|
||||
insert into t1 values ('<27>', 'one', 'one'), ('<27>', 'two', 'one'), ('<27>', NULL, NULL);
|
||||
create table t2 select NULL union select a from t1;
|
||||
show columns from t2;
|
||||
drop table t2;
|
||||
create table t2 select a from t1 union select NULL;
|
||||
show columns from t2;
|
||||
drop table t2;
|
||||
create table t2 select a from t1 union select a from t1;
|
||||
show columns from t2;
|
||||
drop table t2;
|
||||
-- error 1267
|
||||
create table t2 select a from t1 union select c from t1;
|
||||
create table t2 select a from t1 union select b from t1;
|
||||
show columns from t2;
|
||||
drop table t2, t1;
|
||||
|
||||
Reference in New Issue
Block a user