2012-11-30 235 views
1

我有這個查詢,我想優化它。我使用SELECT和子查詢,並且如果可能的話我只想使用一個SELECT。SQL查詢優化 - 消除子查詢

有沒有人有任何想法呢?

預先感謝您

SELECT c.* 
FROM course AS c 
JOIN student_course AS sc ON c.id = uc.course_id 
WHERE sc.student_id = '5' AND c.level = (SELECT MAX(level) 
             FROM course 
             JOIN student_course ON c.id = sc.course_id) 
GROUP BY c.category_id 

回答

3
SELECT c.* 
FROM course AS c 
JOIN student_course AS sc 
ON c.id = sc.course_id 
WHERE sc.student_id = '5' 
GROUP BY c.category_id 
having c.level = MAX(sc.level) 
+0

我試過,但它發送空的結果 –