以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 查询速度 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97256) |
-- 作者:良才 -- 发布时间:2017/3/8 17:35:00 -- 查询速度 查询老生没报名,行数比较(3000) 方法1 Sel ect 学期,班级,b.学生编号,b.学生姓名 From {学生基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号 WHERE b.学期 = \'2016年秋季\' And b.学生编号 not In (Sel ect 学生编号 From {缴费信息} WHERE 学期 = \'2017年春季\') 方法2 这样查的速度非常快,这样可以吗? Sel ect 学期,班级,b.学生编号,b.学生姓名 From ({学生基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号) LEFT JOIN(Se lect 学生编号 From {缴费信息} WHERE 学期 = \'2017年春季\') d ON b.学生编号 = d.学生编号 WHERE b.学期 = \'2016年秋季\' And d.学生编号 Is Null |
-- 作者:有点色 -- 发布时间:2017/3/8 17:39:00 -- 子查询都比较慢。一般的子查询都可以改成连接查询,如你的方法2 |
-- 作者:良才 -- 发布时间:2017/3/8 20:04:00 -- 谢谢 |