我需要選擇7A班學生的考試成績,但需要查看另一張表(student_profile)來識別7A中的學生(由student_id標識)。 我不知道哪下面的方法會更快,假定索引爲student_id數據在兩個表中創建:關於SQL查詢的問題
方法1:
select * from exam_results r
where exists
(select 1
from student_profile p
where p.student_id = r.student_id
and p.class = '7A')
方法2:在提前
select * from exam_results
where student_id in
(select student_id
from student_profile
where class = '7A')
謝謝,
喬納森
去'EXISTS'。 –
在任何現代的sql引擎上,查詢執行計劃都是一樣的。 – Jodrell
JW的+1。 ** [請參考鏈接進一步澄清你的疑惑](http://stackoverflow.com/questions/5018284/mysql-in-queries-terribly-slow-with-subquery-but-fast-with-explicit-values) ** – Luv