mysql练习_MySQL练习题
已知有如下4张表:
unix socket编程学⽣表:student(学号,姓名,出⽣⽇期,性别)
成绩表:score(学号,课程号,成绩)
课程表:course(课程号,课程名称,教师号)
教师表:teacher(教师号,教师姓名)
1.简单查询 4
1.查询姓“猴”的学⽣名单
select
2.查询姓名中最后⼀个字是“猴”
select
3.查询姓名中带“猴”的学⽣名单
select
4.查询姓“孟”⽼师的个数
select
2.汇总分析 13
1.查询课程编号为“0002”的总成绩
select
2.查询选了课程的学⽣⼈数
select
3.查询各科成绩最⾼和最低的分, 以如下的形式显⽰:课程号,最⾼分,最低分
select
基于php的毕业设计论文4.查询每门课程被选修的学⽣数
select
5.查询男⽣、⼥⽣⼈数
select
6.查询平均成绩⼤于60分学⽣的学号和平均成绩
select
7.查询⾄少选修两门课程的学⽣学号
select
8.查询同名同姓学⽣名单并统计同名⼈数
select
9.查询不及格的课程并按课程号从⼤到⼩排列
select
10.查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列select
11.检索课程编号为“0002”且分数⼤于60的学⽣学号,结果按分数降序排列
select
12.统计每门课程的学⽣选修⼈数(超过2⼈的课程才统计),要求输出课程号和选修⼈数,查询结果按⼈数降序排序,若⼈数相同,按课程号升序排序
json转二维码select
13.查询两门以上不及格课程的同学的学号及其平均成绩mysql面试题学生表
select
3.复杂查询 7
1.查询所有课程成绩<=80分学⽣的学号、姓名控件主要分为哪三大类
select
2.查询没有学全所有课的学⽣的学号、姓名
select
3.查询出只选修了两门课程的全部学⽣的学号和姓名
select
4.1990年出⽣的学⽣名单
select
5.按课程号分组取成绩最⼤值所在⾏的数据
select
6.按课程号分组取成绩最⼩值所在⾏的数据
select
7.查询各科成绩前两名的记录(topN的问题还可以使⽤⾃定义变量来实现)
课程号0003有两⼈成绩相同
(
4.多表查询 7
1.查询所有学⽣的学号、姓名、选课数、总成绩
html中document是什么意思select
2.查询平均成绩⼤于85的所有学⽣的学号、姓名和平均成绩
select
3.查询学⽣的选课情况:学号、姓名、课程号、课程名称
select
4.查询出每门课程的及格⼈数和不及格⼈数
select
5.使⽤分段[100-85],[85-70],[70-60],[‹60]来统计各科成绩,分别统计:各分数段⼈数,课程号和课程名称select
6.查询课程编号为'0003'且课程成绩在80分以上的学⽣的学号和姓名
select
7.⾏列如何互换?
下⾯是学⽣的成绩表(表名score,列名:学号、课程号、成绩)
使⽤SQL实现将该表⾏转列为下⾯的表结构
第1步,使⽤常量列输出⽬标表的结构
select
第2步,使⽤case表达式,替换常量列为对应的成绩
select
在这个查询结果中,每⼀⾏表⽰了某个学⽣某⼀门课程的成绩。⽐如第⼀⾏是'学号0001'选修'课程号00001'的成绩,⽽其他两列的'课程号0002'和'课程号0003'成绩为0。
每个学⽣选修某门课程的成绩在下图的每个⽅块内。我们可以通过分组,取出每门课程的成绩。
第3步,分组
分组,并使⽤最⼤值函数max取出上图每个⽅块⾥的最⼤值。
select
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论