【发布时间】:2020-12-07 07:44:37
【问题描述】:
我有一个包含以下列的学生表
id
student_name
课程表
id
student_id //a foreign key
course_name
credits
这是一对多的关系(一个学生可能有多个课程)。
我想列出所有有这 2 门课程的学生
first course: course_name -> math , credit -> 5
second course: course_name -> history , credit -> 3
请注意,每个学生都必须至少有这两门课程。
我可以通过两次加入课程表来获得我想要的东西(一次用于第一门课程,另一次用于第二门课程),但如果我想再添加一门课程,我将需要再加入一门时间。
那么请您指导我另一种方法。
【问题讨论】:
-
您希望每个学生完全上这两个课程,还是至少上这两个课程(但可以有更多)
-
与您的问题无关,但这不应该是多对多的关系吗?一门课程可以包含多名学生,一名学生注册多门课程
-
至少这2门课程
-
不错,多对多比较好,不过我只是用这个例子把问题简单化了
标签: sql postgresql join relational-division in-subquery