mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
3fbcafea9c
new error handling Item_ref bug fixed include/mysql_com.h: new error handling query cache pointer description mysql-test/r/distinct.result: new result's after Monty's bug fixing mysql-test/r/subselect.result: subselect with union test mysql-test/t/subselect.test: subselect with union test sql/item.cc: subselect with union Item_ref bug fixed sql/item_cmpfunc.cc: Monty's bug fixing sql/item_subselect.cc: TODO changing subselect with union sql/item_subselect.h: subselect with union sql/mysql_priv.h: Item_ref bug fixed sql/mysqld.cc: new error handling sql/net_pkg.cc: new error handling sql/net_serv.cc: new error handling sql/sql_base.cc: Item_ref bug fixed sql/sql_class.cc: new error handling sql/sql_class.h: new error handling sql/sql_derived.cc: subselect with union sql/sql_insert.cc: new error handling (only with mysql_select now) sql/sql_lex.cc: subselect with union sql/sql_lex.h: subselect with union sql/sql_parse.cc: new error handling sql/sql_select.cc: new error handling subselect with union removed thd->where=0 hack sql/sql_select.h: subselect with union sql/sql_union.cc: subselect with union sql/sql_update.cc: new error handling (only with mysql_select now) sql/sql_yacc.yy: subselect with union
102 lines
3.1 KiB
Text
102 lines
3.1 KiB
Text
select (select 2);
|
|
(select 2)
|
|
2
|
|
drop table if exists t1,t2,t3,t4,t5;
|
|
create table t1 (a int);
|
|
create table t2 (a int, b int);
|
|
create table t3 (a int);
|
|
create table t4 (a int, b int);
|
|
insert into t1 values (2);
|
|
insert into t2 values (1,7),(2,7);
|
|
insert into t4 values (4,8),(3,8),(5,9);
|
|
select (select a from t1 where t1.a=t2.a), a from t2;
|
|
(select a from t1 where t1.a=t2.a) a
|
|
NULL 1
|
|
2 2
|
|
select (select a from t1 where t1.a=t2.b), a from t2;
|
|
(select a from t1 where t1.a=t2.b) a
|
|
NULL 1
|
|
NULL 2
|
|
select (select a from t1), a from t2;
|
|
(select a from t1) a
|
|
2 1
|
|
2 2
|
|
select (select a from t3), a from t2;
|
|
(select a from t3) a
|
|
NULL 1
|
|
NULL 2
|
|
select * from t2 where t2.a=(select a from t1);
|
|
a b
|
|
2 7
|
|
insert into t3 values (6),(7),(3);
|
|
select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1);
|
|
a b
|
|
1 7
|
|
2 7
|
|
select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1)
|
|
union (select * from t4 order by a limit 2) limit 3;
|
|
a b
|
|
1 7
|
|
2 7
|
|
3 8
|
|
select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1)
|
|
union (select * from t4 where t4.b=(select max(t2.a)*4 from t2) order by a);
|
|
a b
|
|
1 7
|
|
2 7
|
|
3 8
|
|
4 8
|
|
select (select a from t3 where a<t2.a*4 order by 1 desc limit 1), a from t2;
|
|
(select a from t3 where a<t2.a*4 order by 1 desc limit 1) a
|
|
3 1
|
|
7 2
|
|
select (select t3.a from t3 where a<8 order by 1 desc limit 1), a from
|
|
(select * from t2 where a>1) as tt;
|
|
(select t3.a from t3 where a<8 order by 1 desc limit 1) a
|
|
7 2
|
|
select * from t1 where t1.a=(select t2.a from t2 where t2.b=(select max(a) from t3) order by 1 desc limit 1);
|
|
a
|
|
2
|
|
select * from t1 where t1.a=(select t2.a from t2 where t2.b=(select max(a) from t3 where t3.a > t1.a) order by 1 desc limit 1);
|
|
a
|
|
2
|
|
select * from t1 where t1.a=(select t2.a from t2 where t2.b=(select max(a) from t3 where t3.a < t1.a) order by 1 desc limit 1);
|
|
a
|
|
select b,(select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2) from t4;
|
|
b (select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2)
|
|
8 7.5000
|
|
8 4.5000
|
|
9 7.5000
|
|
select * from t3 where exists (select * from t2 where t2.b=t3.a);
|
|
a
|
|
7
|
|
select * from t3 where not exists (select * from t2 where t2.b=t3.a);
|
|
a
|
|
6
|
|
3
|
|
insert into t4 values (12,7),(1,7),(10,9),(9,6),(7,6),(3,9);
|
|
select b,max(a) as ma from t4 group by b having b < (select max(t2.a)
|
|
from t2 where t2.b=t4.b);
|
|
b ma
|
|
select b,max(a) as ma from t4 group by b having b >= (select max(t2.a)
|
|
from t2 where t2.b=t4.b);
|
|
b ma
|
|
7 12
|
|
create table t5 (a int);
|
|
select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a), a from t2;
|
|
(select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a) a
|
|
NULL 1
|
|
2 2
|
|
insert into t5 values (5);
|
|
select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a), a from t2;
|
|
(select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a) a
|
|
NULL 1
|
|
2 2
|
|
insert into t5 values (2);
|
|
select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a), a from t2;
|
|
(select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a) a
|
|
NULL 1
|
|
2 2
|
|
select (select a from t1 where t1.a=t2.a union all select a from t5 where t5.a=t2.a), a from t2;
|
|
Subselect return more than 1 record
|
|
drop table t1,t2,t3,t4,t5;
|