首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求優化,该怎么处理

2013-01-06 
求優化select name from STUDENT where id in (select studentid from EXAM where score in(SELECT score

求優化

select name from STUDENT where id in (select studentid from EXAM where score in
(SELECT score FROM EXAM 
WHERE lessonid='10004' group by score having score <=
(select avg(score) from EXAM where Lessonid ='10004') )and lessonid ='10004')

這個查詢語句有沒有簡單一點的寫法呢
或者用存儲過程?
[解决办法]
你的语句怎么要4层查询啊?太复杂了吧?不就是找出10004这门课低于平均分的学生吗?试试下面的,没数据不要测
SELECT  name
FROM    STUDENT
WHERE   id IN ( SELECT  studentid
                FROM    EXAM
                WHERE   lessonid = '10004'
                        AND score <= ( SELECT   AVG(score)
                                       FROM     EXAM
                                       WHERE    Lessonid = '10004'
                                     ) )

热点排行