A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一个学生可以选择多门课程,一门课程可以被多个学生选择,所以,课程与学生之间是多对多的关系
第一步:建立一个数据库。
第二步:建立一个学生表,保存学生信息,如学生编号,姓名,性别,年龄等。
第二步:建立一个课程表,保存课程信息,如课程编号,课程名
第三步:建立一个学生与课程关系表,包含学生编号与课程编号,记录学生与课程的对应关系。
第四步:填写学生表数据,填写课程表数据,填写学生与课程关系表数据
如图

查看某位学生选择了哪些课程 两种写法
1  SELECT s.ID AS 学生编号,s.Name AS 学生姓名,c.ID AS 课程编号,c.Name AS 课程名
FROM dbo.courses c,dbo.StudentCourse sc,Student s WHERE c.ID=sc.CourseID AND sc.StudentID=s.ID AND s.Name='张三'
2  SELECT s.ID AS 学生编号,s.Name AS 学生姓名,c.ID AS 课程编号,c.Name AS 课程名
FROM Student s INNER JOIN StudentCourse sc ON s.ID=sc.StudentID INNER JOIN courses c ON sc.CourseID=c.ID WHERE  s.Name='张三'
结果如图

查看某一课程被哪些学生选择 两种写法
1  SELECT s.ID AS 学生编号,s.Name AS 学生姓名,c.ID AS 课程编号,c.Name AS 课程名
FROM dbo.courses c,dbo.StudentCourse sc,Student s WHERE c.ID=sc.CourseID AND sc.StudentID=s.ID AND c.Name='数学'
2  SELECT s.ID AS 学生编号,s.Name AS 学生姓名,c.ID AS 课程编号,c.Name AS 课程名
FROM Student s INNER JOIN StudentCourse sc ON s.ID=sc.StudentID INNER JOIN courses c ON sc.CourseID=c.ID WHERE c.Name='数学'
结果如图

2 个回复

正序浏览
好高端!
回复 使用道具 举报
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马