几天前,我发布了一个问题,即用最少的查询数从数据库中获取学生成绩。 我需要知道的是以下哪种方法更好?
案例A
示例:
$Students = mysql_query(SELECT student_id, student_name FROM STUDENTS WHERE class_id = 2);
while($student = mysql_fetch_assoc($Students) {
$Result = mysql_query("SELECT marks FROM result WHERE student_id = ".$student['student_id']);
// Process result
}
案例B
SELECT marks FROM result WHERE student_id IN (23,34,23,343,25,67,65,...)
我需要知道以上哪两种情况更好?
由于
答案 0 :(得分:2)
select * from students join marks on students.student_id = marks.student_id
这应该这样做。当然,你的第二种选择似乎更好。
答案 1 :(得分:0)
不会是:
SELECT marks FROM result JOIN students ON students.student_id = result.student_id;