⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subselect.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
📖 第 1 页 / 共 5 页
字号:
# Initialise--disable_warningsdrop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;--enable_warningsselect (select 2);explain extended select (select 2);SELECT (SELECT 1) UNION SELECT (SELECT 2);explain extended SELECT (SELECT 1) UNION SELECT (SELECT 2);SELECT (SELECT (SELECT 0 UNION SELECT 0));explain extended SELECT (SELECT (SELECT 0 UNION SELECT 0));-- error 1247SELECT (SELECT 1 FROM (SELECT 1) as b HAVING a=1) as a;-- error 1247SELECT (SELECT 1 FROM (SELECT 1) as b HAVING b=1) as a,(SELECT 1 FROM (SELECT 1) as c HAVING a=1) as b;SELECT (SELECT 1),MAX(1) FROM (SELECT 1) as a;-- error 1247SELECT (SELECT a) as a;EXPLAIN EXTENDED SELECT 1 FROM (SELECT 1 as a) as b  HAVING (SELECT a)=1;SELECT 1 FROM (SELECT 1 as a) as b HAVING (SELECT a)=1;-- error 1054SELECT (SELECT 1), a;SELECT 1 as a FROM (SELECT 1) as b HAVING (SELECT a)=1;-- error 1054SELECT 1 FROM (SELECT (SELECT a) b) c;SELECT * FROM (SELECT 1 as id) b WHERE id IN (SELECT * FROM (SELECT 1 as id) c ORDER BY id);-- error 1241SELECT * FROM (SELECT 1) a  WHERE 1 IN (SELECT 1,1);SELECT 1 IN (SELECT 1);SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));-- error 1221select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));-- error 1108SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NOT NULL;SELECT (SELECT 1,2,3) = ROW(1,2,3);SELECT (SELECT 1,2,3) = ROW(1,2,1);SELECT (SELECT 1,2,3) < ROW(1,2,1);SELECT (SELECT 1,2,3) > ROW(1,2,1);SELECT (SELECT 1,2,3) = ROW(1,2,NULL);SELECT ROW(1,2,3) = (SELECT 1,2,3);SELECT ROW(1,2,3) = (SELECT 1,2,1);SELECT ROW(1,2,3) < (SELECT 1,2,1);SELECT ROW(1,2,3) > (SELECT 1,2,1);SELECT ROW(1,2,3) = (SELECT 1,2,NULL);SELECT (SELECT 1.5,2,'a') = ROW(1.5,2,'a');SELECT (SELECT 1.5,2,'a') = ROW(1.5,2,'b');SELECT (SELECT 1.5,2,'a') = ROW('1.5b',2,'b');SELECT (SELECT 'b',2,'a') = ROW(1.5,2,'a');SELECT (SELECT 1.5,2,'a') = ROW(1.5,'2','a');SELECT (SELECT 1.5,'c','a') = ROW(1.5,2,'a');-- error 1241SELECT (SELECT * FROM (SELECT 'test' a,'test' b) a);SELECT 1 as a,(SELECT a+a) b,(SELECT b);create table t1 (a int);create table t2 (a int, b int);create table t3 (a int);create table t4 (a int not null, b int not null);insert into t1 values (2);insert into t2 values (1,7),(2,7);insert into t4 values (4,8),(3,8),(5,9);-- error 1247select (select a from t1 where t1.a = a1) as a2, (select b from t2 where t2.b=a2) as a1;select (select a from t1 where t1.a=t2.a), a from t2;select (select a from t1 where t1.a=t2.b), a from t2;select (select a from t1), a, (select 1 union select 2 limit 1) from t2;select (select a from t3), a from t2;select * from t2 where t2.a=(select a from t1);insert into t3 values (6),(7),(3);select * from t2 where t2.b=(select a from t3 order by 1 desc limit 1);(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;(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);explain extended (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);select (select a from t3 where a<t2.a*4 order by 1 desc limit 1), a from t2;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;explain extended 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 * from t1 where t1.a=(select t2.a from t2 where t2.b=(select max(a) from t3) order by 1 desc limit 1);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);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);select b,(select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2) from t4;explain extended select b,(select avg(t2.a+(select min(t3.a) from t3 where t3.a >= t4.a)) from t2) from t4;select * from t3 where exists (select * from t2 where t2.b=t3.a);select * from t3 where not exists (select * from t2 where t2.b=t3.a);select * from t3 where a in (select b from t2);select * from t3 where a not in (select b from t2);select * from t3 where a = some (select b from t2);select * from t3 where a <> any (select b from t2);# Rewrite: select * from t3 where not exists (select b from t2 where a <> b);select * from t3 where a = all (select b from t2);select * from t3 where a <> all (select b from t2);insert into t2 values (100, 5);select * from t3 where a < any (select b from t2);select * from t3 where a < all (select b from t2);select * from t3 where a >= any (select b from t2);explain extended select * from t3 where a >= any (select b from t2);select * from t3 where a >= all (select b from t2);delete from t2 where a=100;-- error 1241select * from t3 where a in (select a,b from t2);-- error 1241select * from t3 where a in (select * from t2);insert into t4 values (12,7),(1,7),(10,9),(9,6),(7,6),(3,9),(1,10);-- empty setselect b,max(a) as ma from t4 group by b having b < (select max(t2.a) from t2 where t2.b=t4.b);insert into t2 values (2,10);select b,max(a) as ma from t4 group by b having ma < (select max(t2.a) from t2 where t2.b=t4.b);delete from t2 where a=2 and b=10;select b,max(a) as ma from t4 group by b having b >= (select max(t2.a) from t2 where t2.b=t4.b);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;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;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;explain extended select (select a from t1 where t1.a=t2.a union select a from t5 where t5.a=t2.a), a from t2;-- error 1242select (select a from t1 where t1.a=t2.a union all select a from t5 where t5.a=t2.a), a from t2;create table t6 (patient_uq int, clinic_uq int, index i1 (clinic_uq));create table t7( uq int primary key, name char(25));insert into t7 values(1,"Oblastnaia bolnitsa"),(2,"Bolnitsa Krasnogo Kresta");insert into t6 values (1,1),(1,2),(2,2),(1,3);select * from t6 where exists (select * from t7 where uq = clinic_uq);explain extended select * from t6 where exists (select * from t7 where uq = clinic_uq);# not unique fields-- error 1052select * from t1 where a= (select a from t2,t4 where t2.b=t4.b);# different tipes & group functionsdrop table t1,t2,t3;CREATE TABLE t3 (a varchar(20),b char(1) NOT NULL default '0');INSERT INTO t3 VALUES ('W','a'),('A','c'),('J','b');CREATE TABLE t2 (a varchar(20),b int NOT NULL default '0');INSERT INTO t2 VALUES ('W','1'),('A','3'),('J','2');CREATE TABLE t1 (a varchar(20),b date NOT NULL default '0000-00-00');INSERT INTO t1 VALUES ('W','1732-02-22'),('A','1735-10-30'),('J','1743-04-13');SELECT * FROM t1 WHERE b = (SELECT MIN(b) FROM t1);SELECT * FROM t2 WHERE b = (SELECT MIN(b) FROM t2);SELECT * FROM t3 WHERE b = (SELECT MIN(b) FROM t3);CREATE TABLE `t8` (  `pseudo` varchar(35) character set latin1 NOT NULL default '',  `email` varchar(60) character set latin1 NOT NULL default '',  PRIMARY KEY  (`pseudo`),  UNIQUE KEY `email` (`email`)) ENGINE=MyISAM CHARSET=latin1 ROW_FORMAT=DYNAMIC;INSERT INTO t8 (pseudo,email) VALUES ('joce','test');INSERT INTO t8 (pseudo,email) VALUES ('joce1','test1');INSERT INTO t8 (pseudo,email) VALUES ('2joce1','2test1');EXPLAIN EXTENDED SELECT pseudo,(SELECT email FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce')) FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce');-- error 1241SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo,email FROMt8 WHERE pseudo='joce');-- error 1241SELECT pseudo FROM t8 WHERE pseudo=(SELECT * FROM t8 WHEREpseudo='joce');SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo='joce');-- error 1242SELECT pseudo FROM t8 WHERE pseudo=(SELECT pseudo FROM t8 WHERE pseudo LIKE '%joce%');drop table if exists t1,t2,t3,t4,t5,t6,t7,t8;#searchconthardwarefr3 forumconthardwarefr7CREATE TABLE `t1` (  `topic` mediumint(8) unsigned NOT NULL default '0',  `date` date NOT NULL default '0000-00-00',  `pseudo` varchar(35) character set latin1 NOT NULL default '',  PRIMARY KEY  (`pseudo`,`date`,`topic`),  KEY `topic` (`topic`)) ENGINE=MyISAM ROW_FORMAT=DYNAMIC;INSERT INTO t1 (topic,date,pseudo) VALUES('43506','2002-10-02','joce'),('40143','2002-08-03','joce');EXPLAIN EXTENDED SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';EXPLAIN EXTENDED SELECT (SELECT DISTINCT date FROM t1 WHERE date='2002-08-03');SELECT DISTINCT date FROM t1 WHERE date='2002-08-03';SELECT (SELECT DISTINCT date FROM t1 WHERE date='2002-08-03');SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1) UNION ALL SELECT 1;-- error 1242SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1) UNION SELECT 1;EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1=(SELECT 1 UNION SELECT 1);drop table t1;#forumconthardwarefr7 searchconthardwarefr7CREATE TABLE `t1` (  `numeropost` mediumint(8) unsigned NOT NULL auto_increment,  `maxnumrep` int(10) unsigned NOT NULL default '0',  PRIMARY KEY  (`numeropost`),  UNIQUE KEY `maxnumrep` (`maxnumrep`)) ENGINE=MyISAM ROW_FORMAT=FIXED;INSERT INTO t1 (numeropost,maxnumrep) VALUES (40143,1),(43506,2);CREATE TABLE `t2` (      `mot` varchar(30) NOT NULL default '',      `topic` mediumint(8) unsigned NOT NULL default '0',      `date` date NOT NULL default '0000-00-00',      `pseudo` varchar(35) NOT NULL default '',       PRIMARY KEY  (`mot`,`pseudo`,`date`,`topic`)    ) ENGINE=MyISAM ROW_FORMAT=DYNAMIC;INSERT INTO t2 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce'), ('joce','43506','2002-10-22','joce');select numeropost as a FROM t1 GROUP BY (SELECT 1 FROM t1 HAVING a=1);SELECT numeropost,maxnumrep FROM t1 WHERE exists (SELECT 1 FROM t2 WHERE (mot='joce') AND date >= '2002-10-21' AND t1.numeropost = t2.topic) ORDER BY maxnumrep DESC LIMIT 0, 20;-- error 1054SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) b;-- error 1054SELECT 1 IN (SELECT 1 FROM t2 HAVING a);SELECT * from t2 where topic IN (SELECT topic FROM t2 GROUP BY topic);SELECT * from t2 where topic IN (SELECT topic FROM t2 GROUP BY topic HAVING topic < 4100);SELECT * from t2 where topic IN (SELECT SUM(topic) FROM t1);SELECT * from t2 where topic = any (SELECT topic FROM t2 GROUP BY topic);SELECT * from t2 where topic = any (SELECT topic FROM t2 GROUP BY topic HAVING topic < 4100);SELECT * from t2 where topic = any (SELECT SUM(topic) FROM t1);SELECT * from t2 where topic = all (SELECT topic FROM t2 GROUP BY topic);SELECT * from t2 where topic = all (SELECT topic FROM t2 GROUP BY topic HAVING topic < 4100);SELECT *, topic = all (SELECT topic FROM t2 GROUP BY topic HAVING topic < 4100) from t2;SELECT * from t2 where topic = all (SELECT SUM(topic) FROM t2);SELECT * from t2 where topic <> any (SELECT SUM(topic) FROM t2);SELECT * from t2 where topic IN (SELECT topic FROM t2 GROUP BY topic HAVING topic < 41000);SELECT * from t2 where topic = any (SELECT topic FROM t2 GROUP BY topic HAVING topic < 41000);SELECT * from t2 where topic = all (SELECT topic FROM t2 GROUP BY topic HAVING topic < 41000);SELECT *, topic = all (SELECT topic FROM t2 GROUP BY topic HAVING topic < 41000) from t2;drop table t1,t2;#forumconthardwarefr7CREATE TABLE `t1` (  `numeropost` mediumint(8) unsigned NOT NULL auto_increment,  `maxnumrep` int(10) unsigned NOT NULL default '0',  PRIMARY KEY  (`numeropost`),  UNIQUE KEY `maxnumrep` (`maxnumrep`)) ENGINE=MyISAM ROW_FORMAT=FIXED;INSERT INTO t1 (numeropost,maxnumrep) VALUES (1,0),(2,1);-- error 1242select numeropost as a FROM t1 GROUP BY (SELECT 1 FROM t1 HAVING a=1);-- error 1242select numeropost as a FROM t1 ORDER BY (SELECT 1 FROM t1 HAVING a=1);drop table t1;create table t1 (a int);insert into t1 values (1),(2),(3);(select * from t1) union (select * from t1) order by (select a from t1 limit 1);drop table t1;#iftestCREATE TABLE t1 (field char(1) NOT NULL DEFAULT 'b');INSERT INTO t1 VALUES ();-- error 1242SELECT field FROM t1 WHERE 1=(SELECT 1 UNION ALL SELECT 1 FROM (SELECT 1) a HAVING field='b');drop table t1;# threadhardwarefr7CREATE TABLE `t1` (  `numeropost` mediumint(8) unsigned NOT NULL default '0',  `numreponse` int(10) unsigned NOT NULL auto_increment,  `pseudo` varchar(35) NOT NULL default '',  PRIMARY KEY  (`numeropost`,`numreponse`),  UNIQUE KEY `numreponse` (`numreponse`),  KEY `pseudo` (`pseudo`,`numeropost`)) ENGINE=MyISAM;-- error 1247SELECT (SELECT numeropost FROM t1 HAVING numreponse=a),numreponse FROM (SELECT * FROM t1) as a;-- error 1054SELECT numreponse, (SELECT numeropost FROM t1 HAVING numreponse=a) FROM (SELECT * FROM t1) as a;SELECT numreponse, (SELECT numeropost FROM t1 HAVING numreponse=1) FROM (SELECT * FROM t1) as a;INSERT INTO t1 (numeropost,numreponse,pseudo) VALUES (1,1,'joce'),(1,2,'joce'),(1,3,'test');-- error 1242EXPLAIN EXTENDED SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT 1 FROM t1 WHERE numeropost='1');EXPLAIN EXTENDED SELECT MAX(numreponse) FROM t1 WHERE numeropost='1';EXPLAIN EXTENDED SELECT numreponse FROM t1 WHERE numeropost='1' AND numreponse=(SELECT MAX(numreponse) FROM t1 WHERE numeropost='1');drop table t1;CREATE TABLE t1 (a int(1));INSERT INTO t1 VALUES (1);SELECT 1 FROM (SELECT a FROM t1) b HAVING (SELECT b.a)=1;drop table t1;#update with subselectscreate table t1 (a int NOT NULL, b int, primary key (a));create table t2 (a int NOT NULL, b int, primary key (a));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -