假设我有一个名为 students 的表,其中包含所有学生的列表。每个学生可以有许多课程存储在另一个表中,由学生 ID 标识。
我想做一个查询,该查询将从学生表中获取包含学生信息的行,并在一个查询中获取他的所有课程。我想要的输出是这样的:
Array
(
[0] => Array
(
[id] => 5
[firstName] => Bob
[lastName] => Smith
[email] => ....
[courses] => Array
(
[0] => Array
(
[id] => 30
[name] => Test Course
[price] => 400
)
[1] => Array
(
[id] => 30
[name] => Test Course 2
[price] => 300
)
)
)
)
要获取学生的信息,我会执行以下查询:
SELECT * FROM students WHERE something ='something'
为了获得学生的课程,我会这样做:
SELECT * FROM courses WHERE studentId = '5'
是否可以同时执行两个查询并获得像上面的数组一样的输出,或者我是否必须遍历每个学生并获取其课程,然后手动将其附加到数组?