したがって、2つの異なるテーブルから物事をプルするための単純な結合を使用してMySQLクエリを作成しようとしています。
最初のテーブルは学生のテーブルです(申し訳ありませんが、それらを入れるためのより良い方法を見つけることができませんでした)
id  first_name  last_name   major    phone_number
-------------------------------------------------
1   Eric        Larsen      CS       1234567891
2   Sam         Coons       English  1234567891
3   David       Brown       MAE      1234567891
4   Richard     Brown       CS       1234567891
5   Kendra      Griffiths   FCHD     1234567891
2つ目はスコアテーブルで、1行だけでリッチになりました。
id  student_id  item_id  score
------------------------------
1   1           1        20
アイテムのリストを含む3番目のテーブルがありますが、この特定のクエリには実際には必要ありません。
スコアのスコアとともにすべての学生をプルしたいと思います。スコアがある場合はitem_id=1ですが、そうでない場合でも、学生の情報をプルしたいのですが、少なくとも名前はあります。
これが私が書いたクエリです。
SELECT students.first_name, students.last_name, scores.score
FROM students
     LEFT JOIN scores
     ON students.id = scores.student_id
WHERE scores.item_id =1
私の考えでは、これはうまくいくはずです。左の結合であるため、スコアがなくてもすべての生徒を引っ張るはずですが、スコアが1人の生徒だけを引っ張っています。EricLarsen、結果は次のようになります。
Eric, Larsen, 20
しかし、そうであるべきではありません:
first_name  last_name  score
----------------------------
Eric        Larsen     20
Sam         Coons      NULL
David       Brown      NULL
Richard     Brown      NULL
Kendra      Griffiths  NULL
?