我有一个表用户(用户 ID、用户名、密码等)、一个表课程(课程 ID、课程名称等)和一个表 student_favouriteCourses(用户 ID、课程 ID)//两者都作为主键
如果我知道用户的 ID,我想搜索他最喜欢的所有课程。你能帮我查询加入吗?
也许是这样的:
SELECT
*
FROM
student_FavouriteCourse fav
JOIN student stu ON ( fav.user_id = stu.user_id)
JOIN courses crs ON ( fav.course_id = crs.course_id)
WHERE
fav.user_id = <yourvalue>
作为解释:
1)这将返回您想要的 student_FavouriteCourse(使用“fav”作为别名)记录
SELECT
*
FROM
student_FavouriteCourse fav
WHERE
fav.user_id = <yourvalue>
2)你然后JOIN是学生的详细信息(使用“stu”作为别名)
JOIN student stu ON ( fav.user_id = stu.user_id)
3)你然后JOIN是课程详细信息(使用“crs”作为别名)
JOIN courses crs ON ( fav.course_id = crs.course_id)
我可以建议,如果您是 JOIN 和 SQL 的新手,您可以在上述每个步骤中运行此查询,然后您将看到连接如何工作以及如何构建结果数据集。
编辑:再次阅读您的帖子,我发现您实际上不需要学生加入,只需要课程。所以:
SELECT
*
FROM
student_FavouriteCourse fav
JOIN courses crs ON ( fav.course_id = crs.course_id)
WHERE
fav.user_id = <yourvalue>
| 归档时间: |
|
| 查看次数: |
6659 次 |
| 最近记录: |