
(发布我的评论作为答案,显然确实有所作为!)
如果将更改为,
IN有=什么区别?
如果有人想进一步调查,我刚刚进行了测试,发现它很容易复制。
建立表格
CREATE TABLE `filler` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`))
建立程序
CREATE PROCEDURE `prc_filler`(cnt INT)BEGIN DECLARE _cnt INT; SET _cnt = 1; WHILE _cnt <= cnt DO INSERT INTO filler SELECt _cnt; SET _cnt = _cnt + 1; END WHILE;END
填充表
call prc_filler(5000)
查询1
SELECT id FROM filler WHERe id = (SELECt MAX(id) FROM filler WHERe id = ( SELECt MIN(id) FROM filler WHERe id between 2000 and 3000 ) )
等于说明输出http://img689.imageshack.us/img689/5592/equals.png
查询2(相同的问题)
SELECt id FROM filler WHERe id in (SELECt MAX(id) FROM filler WHERe id in ( SELECt MIN(id) FROM filler WHERe id between 2000 and 3000 ) )
在说明输出中http://img291.imageshack.us/img291/8129/52037513.png
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)