/ /データベースからの大きな結果を表示するのに適した方法はどれですか? -mysql

データベースから大きな結果を表示する方が良い方法はどれですか? - mysql

数日前、私は質問の数が最も少ないデータベースから学生の成績を取得することに関する質問を投稿しました。 私が知る必要があるのは、次のアプローチのどれが良いですか?

ケースA

  1. データベースからすべての生徒に問い合わせる
  2. それで 学生、データベースから結果を問い合わせる
  3. このように、100人の学生がいる場合、データベースを100回クエリする必要があります。
  4. 例:

    $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

  1. データベースからすべての生徒に問い合わせる
  2. 次に、「IN」演算子を使用して上記の学生の結果を照会します SELECT marks FROM result WHERE student_id IN (23,34,23,343,25,67,65,...)
  3. 次に、foreachステートメントを使用して、必要に応じて結果を処理します。
  4. この方法では、100人の学生がいるので、データベースを2回照会するだけです。

上記の2つのケースのどちらが優れているかを知る必要がありますか?

ありがとう

回答:

回答№1は2
select * from students join marks on students.student_id = marks.student_id

これでうまくいくはずです。そしてもちろん、あなたの2番目の選択肢はより良いようです。


回答№2の場合は0

そうではないでしょう:

SELECT marks FROM result JOIN students ON students.student_id = result.student_id;

join reference