MySQL ●000 案例:查询选修了课程名为“信息系统”的学生学号和姓名 SELECT sno,sname FROM Student WHERE sno In (SELECT sno FROM SC WHERE cno in SELECT cno FROM course WHERE cname=‘信息系统′) MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第11页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 11 页 • 案例:查询选修了课程名为“信息系统”的学生学号和姓名。 SELECT sno,sname FROM Student WHERE sno IN (SELECT sno FROM sc WHERE cno in ( SELECT cno FROM course WHERE cname=‘信息系统’) )
MySQL ●000 ·上述查询可以用连接查询实现: select studentsno, sname FROM Student sc, course WHERE Student sno=scsno and sc cno=course. cno and course. chame=‘信息系统 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第12页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 12 页 • 上述查询可以用连接查询实现: SELECT student.sno,sname FROM Student, sc, course WHERE Student .sno=sc.sno and sc.cno=course.cno and course.cname= ‘信息系统’
MySQL ●000 练习 1、查询选修课程号为2的学生姓名; 查询没有选修课程的学生的基本情况 3、查询至少有一个成绩在80分以上的学生的基本情况; 4、査询没有选修“数据库”课程的学生的基本情况。 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第13页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 13 页 练习 1、查询选修课程号为2的学生姓名; 2、查询没有选修课程的学生的基本情况; 3、查询至少有一个成绩在80分以上的学生的基本情况; 4、查询没有选修“数据库”课程的学生的基本情况
MySQL ●000 1、查询选修课程号为2的学生姓名; SELECT sname FROM Student. sc WHERE Student sno sc. sno and sc cno=2 SELECT Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno= 2) 步骤:先找出2号课程对应的学号,再通过学号找学生姓名 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第14页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 14 页 1、查询选修课程号为2的学生姓名; SELECT sname FROM Student,sc WHERE Student.Sno = SC.Sno and sc.cno=‘2’ SELECT Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno= '2') 步骤:先找出2号课程对应的学号,再通过学号找学生姓名
MySQL ●000 2、查询没有选修课程的学生的基本情况; SELECT FROM Student WHERE Sno not in (SELECT sno FROM sc) 3、查询至少有一个成绩在80分以上的学生的基本情况; SELECT FROM Student WHERE So in (SELECT sno FROM SC WHERE grade>=80 MySQL数据库应用》http:/mysq!xg.hactcm.edu.cn 第15页
《MySQL数据库应用》 http://mysql.xg.hactcm.edu.cn/ 第 15 页 2、查询没有选修课程的学生的基本情况; SELECT * FROM Student WHERE Sno not in (SELECT sno FROM sc) 3、查询至少有一个成绩在80分以上的学生的基本情况; SELECT * FROM Student WHERE Sno in (SELECT sno FROM sc WHERE grade>=80)