-- 12.1 SELECTDISTINCT Cno from grade,student WHERE grade.Sno = student.Sno;
-- 12.2 SELECT*from student where Clno =00311AND Ssex ='女';
-- 12.3 SELECT Sname,Sage,Sno from student where Clno in ('01311','01312');
-- 12.4 SELECT*from student where Sname LIKE'李%';
-- 12.5 SELECT Number AS'李勇班级人数'from class WHERE Clno IN (SELECT Clno from student WHERE Sname ='李勇'); -- 方法一
SELECTCOUNT(*) AS'李勇班级人数'from student where Clno in (select Clno from student where Sname ='李勇'); -- 方法二
-- 12.6 SELECTMAX(Gmark) AS'最高分', MIN(Gmark) AS'最低分' , AVG(Gmark) AS'平均成绩'FROM Grade g, Course c WHERE g.Cno IN(SELECT c.Cno FROM Course WHERE c.Cname ='操作系统' );
-- 12.7 SELECTCOUNT(DISTINCT Sno,Sno) AS'选修了课程的学生人数'from grade where Sno IN (SELECT Sno from student);
-- 12.8 SELECTCOUNT(*) AS'选修操作系统人数'FROM grade WHERE Cno IN (SELECT Cno from course WHERE Cname ='操作系统');
-- 12.9 SELECT Sname from Student where Sno IN (SELECT Sno from grade where Gmark isNULLAND Clno IN (SELECT Clno from class where Speciality ='计算机软件'AND Inyear ='2000'));
-- 13.1 SELECT* from student where Clno in ( SELECT Clno from student WHERE Sname ='李勇') AND Sname notin ('李勇');
-- 13.2 SELECT*from student where Sno in ( SELECTDISTINCT Sno from grade where Cno in ( SELECT Cno from grade where Sno IN ( SELECT Sno from student where Sname ='李勇'))) AND Sname <>'李勇';
-- 13.3 SELECT* from student where Sage BETWEEN (SELECT Sage from student where Sname ='李勇') AND25;
-- 13.4 SELECT Sno,Sname from student where Sno IN ( SELECT Sno from grade where Cno IN( SELECT Cno from course WHERE Cname IN('操作系统')));
-- 13.5 SELECT Sname from student where Sno NOTIN ( SELECT Sno from grade where Cno IN (1)); -- 13.6 SELECT Sname from student where Sno IN ( SELECT Sno from grade GROUPBY Sno HAVINGCOUNT(*) = (SELECTCOUNT(*) FROM course));
14题
1 2 3 4 5 6 7 8 9 10 11
-- 14.1 SELECT Sno,Gmark from grade where Cno ='3'ORDERBY Gmark DESC;
-- 15.1 UPDATE grade SET Gmark =0where Sno IN (SELECT Sno from student where Clno ='01311'); SELECT*from grade where Sno IN (SELECT Sno from student WHERE Clno ='01311');
-- 15.2 DELETEfrom grade where Sno LIKE'2001%'AND Sno IN ( SELECT Sno from student where Clno IN (select Clno from class where Speciality ='计算机软件')); SELECT*from grade;
-- 15.3 UPDATE class set Monitor =nullwhere Monitor IN (SELECT Sno FROM student WHERE Sname ='李勇'); DELETEfrom Grade where Sno IN (SELECT Sno FROM student WHERE Sname ='李勇'); DELETEfrom student where Sname ='李勇';
-- 第二次上机补充题1 SELECT s.Sno AS'学号', s.Sname AS'姓名',COUNT(g.Sno) AS'选课数'from student s LEFTJOIN grade g ON s.Sno = g.Sno GROUPBY s.Sno,s.Sname;
-- 第二次上机补充题2 SELECT cl.Clno AS'班级号', Cno AS'课程号', COUNT(g.Sno) AS'选课人数', AVG(Gmark) AS'该班级的平均分' from grade g LEFTJOIN student s ON g.Sno = s.Sno LEFTJOIN class cl ON s.Clno = cl.Clno GROUPBY cl.Clno,g.Cno;