多对多关系表

时间:2017-03-12 06:56:25

标签: mysql

我有三张桌子:

  • 生: 学生卡 , 名字 , 姓 , 重大的 , 学年 ,

  • 课程: 学生卡, courseid , 课程名 , 部门 ,

  • students_courses: 名字 , 学生卡 , courseid ,

我需要编写一个SQL查询,显示哪些学生正在学习哪些课程一名学生应该能够注册多门课程,一门课程应该可以由多名学生参加。

我创建的查询但是我收到错误,有人可以提供帮助。

SPLASH_URL = 'http://therealip:8050'

1 个答案:

答案 0 :(得分:0)

你的桌子结构在我看来是错的。

表学生:好的 表课程:删除student_id 表student_courses:删除student_name

然后以这种方式查询数据

SELECT * FROM students AS s LEFT JOIN student_courses AS sc ON s.id=sc.student_id LEFT JOIN courses AS c ON c.id=sc.course_id

如果需要,添加必要的WHERE子句。

查询显示所有用户采用的所有课程。它还可以打印没有课程的用户。