【多选题】查询每个学生获得最高成绩的课程号,关于“select sno, cno, max(grade) mgrade from sc group by sno”语句,说法正确的有( )
A.
该语句是正确的
B.
该语句不对,因为cno没有包含在聚集函数或group by 子句中
C.
该语句可改为:(1)先建一个求每个学生最大成绩的视图,create view vmgrade as select sno,max(grade) mgrade from sc Group by sno; (2)再用这个学生的最高成绩找获得这个最高成绩的课程号 select sc.sno, cno from sc, vmgrade where sc.sno=vmgrade.sno and sc.grade=vmgrade.mgrade
D.
该语句可改为基于派生表的查询,以实现 select sno, cno from sc, (select sno, max(grade) from sc group by sno) as max_sc(sno, grade) where sc.sno=max_sc.sno and sc.grade>=max_sc.grade