- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《mysql例题》.doc
按课程分组并为每个分组内部加排序序号,即每个组内按高低排名1~。。。
提示:可以考虑自身进行分数高低比较,越低分数的与高分数的比,记录个数越多。比如,xyz三个数,自身比较
A B x x y y z z
比较A=B 真假 A.x=B.x 1 A.y=B.x 1 A.z=B.x 1 A.x=B.y 0 A.y=B.y 1 A.z=B.y 1 A.x=B.z 0 A.y=B.z 0 A.z=B.z 1
按A分组 计数 A.x = 1 ,A.y=2 ,A.z=3
SELECT a.*,count(*) from sc a,sc b where a.cid=b.cid and a.score=b.score GROUP BY cid,score ORDER BY a.cid,a.score desc
取每门课程的前两名
查询选修了课程的学员人数?SELECT COUNT(DISTINCT ) 学员人数 FROM SC?SELECT sid from sc GROUP BY sid HAVING COunt(cid)=(SELECT count(DISTINCT(cid)) from sc )
查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.Sid from (select Sid,score from SC where Cid=001) a,(select Sid,score
from SC where Cid=002) b
where a.scoreb.score and a.Sid=b.Sid;
2) select a.Sid from sc a,sc b WHERE a.Cid=001 and b.Cid=002 and a.scoreb.score and a.Sid=b.Sid;
查询学过“叶平”老师所教的所有课的同学的学号、姓名 select Sid,Sname
? from Student
? where Sid in (select Sid from SC ,Course ,Teacher where SC.Cid=Course.Cid and Teacher.Tid=Course.Tid and Teacher.Tname=叶平 group by Sid having count(SC.Cid)=(select count(Cid) from Course,Teacher? where Teacher.Tid=Course.Tid and Tname=叶平));
SELECT sc.sid,sname FROM sc,student where sc.sid=student.sid GROUP BY sid HAVING COUNT(cid)2
查询没有学全所有课的同学的学号、姓名;
??? select Student.Sid,Student.Sname from Student,SC
??? where Student.Sid=SC.Sid group by? Student.Sid having count(Cid) (select count(Cid) from Course);
查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;
??? select Sid from SC where Cid in (select Cid from SC where Sid=1002)
??? group by Sid having count(*)=(select count(*) from SC where Sid=1002);
查找所学的课程名均含在’1002’学过的课程名中,而且个数也相同
按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩,按如下形式显示: 学生ID,,数据库,企业管理,英语,有效课程数,有效平均分 FROM SC AS t
GROUP BY Sid
ORDER BY avg(t.score)
CASE 语法
Case when ……then……
When…… then……
When…… then……
…………
Else……
End
因为这个CASE必须返回一个数,所以可以认为其是一个函数(我是这样认为的)返回一个结果,所以可以任意插入到select语句中的用到数据的地方
公布各科成绩,以分数段划分,60以下:不及格;60~70:及格;70~85:良;85以上:优秀:
SELECT sid,cid,score,case when score60 then 不及格
when score=60 and scor
文档评论(0)