2003-01-06 00:48:59 +01:00
|
|
|
drop table if exists t1,t2,t3;
|
2002-12-26 16:48:19 +01:00
|
|
|
select * from (select 2 from DUAL) b;
|
|
|
|
2
|
|
|
|
2
|
2002-12-17 22:18:19 +01:00
|
|
|
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'field list'
|
2002-12-17 22:18:19 +01:00
|
|
|
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'field list'
|
2002-03-26 14:06:05 +01:00
|
|
|
CREATE TABLE t1 (a int not null, b char (10) not null);
|
|
|
|
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
|
|
|
|
CREATE TABLE t2 (a int not null, b char (10) not null);
|
|
|
|
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
|
|
|
|
select t1.a,t3.y from t1,(select a as y from t2 where b='c') as t3 where t1.a = t3.y;
|
|
|
|
a y
|
|
|
|
3 3
|
|
|
|
3 3
|
2002-05-28 19:49:17 +02:00
|
|
|
select t1.a,t3.a from t1,(select * from t2 where b='c') as t3 where t1.a = t3.a;
|
|
|
|
a a
|
|
|
|
3 3
|
|
|
|
3 3
|
2002-05-06 21:47:57 +02:00
|
|
|
CREATE TABLE t3 (a int not null, b char (10) not null);
|
|
|
|
insert into t3 values (3,'f'),(4,'y'),(5,'z'),(6,'c');
|
|
|
|
select t1.a,t4.y from t1,(select t2.a as y from t2,(select t3.b from t3 where t3.a>3) as t5 where t2.b=t5.b) as t4 where t1.a = t4.y;
|
|
|
|
a y
|
|
|
|
3 3
|
|
|
|
3 3
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'having clause'
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 23000: Column: 'a' in having clause is ambiguous
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2;
|
2002-11-11 16:45:23 +01:00
|
|
|
a a
|
|
|
|
1 2
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1;
|
2002-11-11 16:45:23 +01:00
|
|
|
a a
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT 1 FROM (SELECT 1) a WHERE a=2;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'where clause'
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'having clause'
|
2002-11-30 18:53:31 +01:00
|
|
|
select * from t1 as x1, (select * from t1) as x2;
|
|
|
|
a b a b
|
|
|
|
1 a 1 a
|
|
|
|
2 b 1 a
|
|
|
|
3 c 1 a
|
|
|
|
3 c 1 a
|
|
|
|
1 a 2 b
|
|
|
|
2 b 2 b
|
|
|
|
3 c 2 b
|
|
|
|
3 c 2 b
|
|
|
|
1 a 3 c
|
|
|
|
2 b 3 c
|
|
|
|
3 c 3 c
|
|
|
|
3 c 3 c
|
|
|
|
1 a 3 c
|
|
|
|
2 b 3 c
|
|
|
|
3 c 3 c
|
|
|
|
3 c 3 c
|
|
|
|
explain select * from t1 as x1, (select * from t1) as x2;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 PRIMARY x1 ALL NULL NULL NULL NULL 4
|
|
|
|
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 4
|
|
|
|
2 DERIVED x1 ALL NULL NULL NULL NULL 4
|
2003-01-06 00:48:59 +01:00
|
|
|
drop table if exists t2,t3;
|
2002-11-28 18:19:21 +01:00
|
|
|
select * from (select 1) as a;
|
2002-10-30 17:23:02 +01:00
|
|
|
1
|
|
|
|
1
|
2002-11-28 18:19:21 +01:00
|
|
|
select a from (select 1 as a) as b;
|
2002-10-30 17:23:02 +01:00
|
|
|
a
|
|
|
|
1
|
2002-11-28 18:19:21 +01:00
|
|
|
select 1 from (select 1) as a;
|
2002-11-12 13:40:32 +01:00
|
|
|
1
|
|
|
|
1
|
2002-12-12 15:09:06 +01:00
|
|
|
select * from (select * from t1 union select * from t1) a;
|
|
|
|
a b
|
|
|
|
1 a
|
|
|
|
2 b
|
|
|
|
3 c
|
|
|
|
select * from (select * from t1 union all select * from t1) a;
|
|
|
|
a b
|
|
|
|
1 a
|
|
|
|
2 b
|
|
|
|
3 c
|
|
|
|
3 c
|
|
|
|
1 a
|
|
|
|
2 b
|
|
|
|
3 c
|
|
|
|
3 c
|
|
|
|
explain select * from (select * from t1 union select * from t1) a;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 3
|
|
|
|
2 DERIVED t1 ALL NULL NULL NULL NULL 4
|
|
|
|
3 UNION t1 ALL NULL NULL NULL NULL 4
|
|
|
|
explain select * from (select * from t1 union all select * from t1) a;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 8
|
|
|
|
2 DERIVED t1 ALL NULL NULL NULL NULL 4
|
|
|
|
3 UNION t1 ALL NULL NULL NULL NULL 4
|
2003-01-26 20:30:35 +01:00
|
|
|
CREATE TABLE t2 (a int not null);
|
|
|
|
insert into t2 values(1);
|
|
|
|
select * from (select * from t1 where t1.a=(select a from t2 where t2.a=t1.a)) a;
|
|
|
|
a b
|
|
|
|
1 a
|
|
|
|
select * from (select * from t1 where t1.a=(select t2.a from t2 where t2.a=t1.a) union select t1.a, t1.b from t1) a;
|
|
|
|
a b
|
|
|
|
1 a
|
|
|
|
2 b
|
|
|
|
3 c
|
2003-04-10 20:05:28 +02:00
|
|
|
explain select * from (select * from t1,t2 where t1.a=t2.a) t1;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 PRIMARY <derived2> system NULL NULL NULL NULL 1
|
|
|
|
2 DERIVED t2 system NULL NULL NULL NULL 1
|
|
|
|
2 DERIVED t1 ALL NULL NULL NULL NULL 4 Using where
|
2003-01-26 20:30:35 +01:00
|
|
|
drop table t1, t2;
|
2002-11-16 15:41:29 +01:00
|
|
|
create table t1(a int not null, t char(8), index(a));
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT * FROM (SELECT * FROM t1) as b ORDER BY a ASC LIMIT 0,20;
|
2002-11-16 15:41:29 +01:00
|
|
|
a t
|
|
|
|
1 1
|
|
|
|
2 2
|
|
|
|
3 3
|
|
|
|
4 4
|
|
|
|
5 5
|
|
|
|
6 6
|
|
|
|
7 7
|
|
|
|
8 8
|
|
|
|
9 9
|
|
|
|
10 10
|
|
|
|
11 11
|
|
|
|
12 12
|
|
|
|
13 13
|
|
|
|
14 14
|
|
|
|
15 15
|
|
|
|
16 16
|
|
|
|
17 17
|
|
|
|
18 18
|
|
|
|
19 19
|
|
|
|
20 20
|
2002-11-29 13:49:07 +01:00
|
|
|
explain select count(*) from t1 as tt1, (select * from t1) as tt2;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
2002-12-14 16:43:01 +01:00
|
|
|
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
|
2003-05-31 17:31:57 +02:00
|
|
|
2 DERIVED tt1 ALL NULL NULL NULL NULL 10000
|
2003-01-06 00:48:59 +01:00
|
|
|
drop table t1;
|
2002-11-28 18:19:21 +01:00
|
|
|
SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a) as a )) as b;
|
|
|
|
(SELECT * FROM (SELECT 1 as a) as a )
|
2002-11-26 15:49:55 +01:00
|
|
|
1
|
2002-11-29 13:49:07 +01:00
|
|
|
select * from (select 1 as a) b left join (select 2 as a) c using(a);
|
|
|
|
a a
|
|
|
|
1 NULL
|
2002-12-17 19:15:15 +01:00
|
|
|
SELECT * FROM (SELECT 1 UNION SELECT a) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'field list'
|
2002-12-17 21:36:23 +01:00
|
|
|
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'field list'
|
2002-12-17 21:36:23 +01:00
|
|
|
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column 'a' in 'field list'
|
2003-03-10 16:07:39 +01:00
|
|
|
select 1 from (select 2) a order by 0;
|
2003-06-04 17:28:51 +02:00
|
|
|
ERROR 42S22: Unknown column '0' in 'order clause'
|
|
|
|
create table t1 (id int);
|
|
|
|
insert into t1 values (1),(2),(3);
|
|
|
|
describe select * from (select * from t1 group by id) bar;
|
|
|
|
id select_type table type possible_keys key key_len ref rows Extra
|
|
|
|
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 3
|
|
|
|
2 DERIVED t1 ALL NULL NULL NULL NULL 3 Using temporary; Using filesort
|
|
|
|
drop table t1;
|