MySQL测试题

一、表关系

请创建如下表,并创建相关约束

创建数据库

create database school charset utf8;

建表

create table class(

cid int not null auto_increment,

caption char(32) not null,

primary key(cid)

);

create table student(

sid int not null auto_increment,

sname char(32) not null,

gender char(8) not null,

class_id int not null,

constraint fk_classid_classcid foreign key (class_id) references class(cid),

primary key(sid)

);

create table teacher(

tid int not null auto_increment,

tname char(32) not null,

primary key(tid)

);

create table course(

cid int not null auto_increment,

cname char(32) not null,

teach_id int not null,

constraint fk_teachid_teachertid foreign key (teach_id) references teacher(tid),

primary key(cid)

);

create table score(

sid int not null auto_increment,

student_id int not null,

course_id int not null,

number int not null,

constraint fk_studentid_studentsid foreign key (student_id) references student(sid),

constraint fk_courseid_coursecid foreign key (course_id) references course(cid),

primary key(sid)

);

插入数据

insert into class(caption) values('三年二班'),('一年三班'),('三年一班');

insert into student (sname,gender,class_id) values('钢弹','女',1),('铁锤','女',1),('山炮','男',2);

insert into teacher(tname) values('李大锤'),('叶平'),('杨伟');

insert into course(cname,teach_id) values('生物',1),('体育',1),('物理',2);

insert into score(student_id,course_id,number) values(1,1,60),(1,2,59),(2,2,100);

二、操作表

1、自行创建测试数据

2、查询“生物”课程比“物理”课程成绩高的所有学生的学号;

select a.student_id from (select * from score where course_id = (select cid from course where cname='生物'))a inner join (select * from score where course_id = (select cid from course where cname='物理'))b on a.student_id=b.student_id and a.number>b.number;

3、查询平均成绩大于60分的同学的学号和平均成绩;

select student_id,AVG(number) from score group by student_id having AVG(number)>60;

4、查询所有同学的学号、姓名、选课数、总成绩;

select student.sid,student.sname,COUNT(score.course_id),SUM(score.number) from score left join student on student.sid=score.student_id group by student.sid;

5、查询姓“李”的老师的个数;

select COUNT(a.tname) from (select * from teacher where tname like '李%') a;

6、查询没学过“叶平”老师课的同学的学号、姓名;

select j.sid,j.sname from (select student.sid,student.sname,b.sid as e,b.sname as f from student left join (select student.sid,student.sname from student inner join  (select * from score where course_id in (select cid from course where teach_id=(select tid from teacher where tname='叶平')))a on student.sid=a.student_id group by sid)b on student.sid=b.sid)j where j.e is null;

7、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;

select student.sid,student.sname from student inner join (select a.student_id from (select *  from score where course_id=001)a inner join (select * from score where course_id=002)b on a.student_id=b.student_id)c on student.sid=c.student_id;

8、查询学过“叶平”老师所教的所有课的同学的学号、姓名;

select student.sid,student.sname from student inner join  (select * from score where course_id in (select cid from course where teach_id=(select tid from teacher where tname='叶平')))a on student.sid=a.student_id group by sid;

9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

select student.sid,student.sname from student inner join (select a.student_id from (select *  from score where course_id=001)a inner join (select * from score where course_id=002)b on a.student_id=b.student_id and a.number>b.number)c on student.sid=c.student_id;

10、查询有课程成绩小于60分的同学的学号、姓名;

select student.sid,student.sname from student inner join (select * from score where number<60 group by student_id)a on student.sid=a.student_id;

11、查询没有学全所有课的同学的学号、姓名;

select student.sid,student.sname from student inner join (select student_id,COUNT(course_id)  as c from score group by student_id having c=(select COUNT(cid) as d from course))f on student.sid=f.student_id;

12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;

select student.sid,student.sname from student inner join (select score.student_id from score,(select * from score where student_id=001)a where score.course_id=a.course_id group by score.student_id)b on student.sid=b.student_id;

13、查询至少学过学号为“001”同学所选课程中任意一门课的其他同学学号和姓名;

select student.sid,student.sname from student inner join (select score.student_id from score,(select * from score where student_id=001)a where score.course_id=a.course_id and score.student_id !=001 group by score.student_id)b on student.sid=b.student_id;

14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;

15、删除学习“叶平”老师课的SC表记录;

16、向SC表中插入一些记录,这些记录要求符合以下条件:①没有上过编号“002”课程的同学学号;②插入“002”号课程的平均成绩;

17、按平均成绩从低到高显示所有学生的“语文”、“数学”、“英语”三门的课程成绩,按如下形式显示: 学生ID,语文,数学,英语,有效课程数,有效平均分;

18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分;

19、按各科平均成绩从低到高和及格率的百分数从高到低顺序;

20、课程平均分从高到低显示(现实任课老师);

21、查询各科成绩前三名的记录:(不考虑成绩并列情况)

22、查询每门课程被选修的学生数;

23、查询出只选修了一门课程的全部学生的学号和姓名;

24、查询男生、女生的人数;

25、查询姓“张”的学生名单;

26、查询同名同姓学生名单,并统计同名人数;

27、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列;

28、查询平均成绩大于85的所有学生的学号、姓名和平均成绩;

29、查询课程名称为“数学”,且分数低于60的学生姓名和分数;

30、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名;

31、求选了课程的学生人数

32、查询选修“杨艳”老师所授课程的学生中,成绩最高的学生姓名及其成绩;

33、查询各个课程及相应的选修人数;

34、查询不同课程但成绩相同的学生的学号、课程号、学生成绩;

35、查询每门课程成绩最好的前两名;

36、检索至少选修两门课程的学生学号;

37、查询全部学生都选修的课程的课程号和课程名;

38、查询没学过“叶平”老师讲授的任一门课程的学生姓名;

39、查询两门以上不及格课程的同学的学号及其平均成绩;

40、检索“004”课程分数小于60,按分数降序排列的同学学号;

41、删除“002”同学的“001”课程的成绩;

mysql期末考试试卷_mysql测试题相关推荐

  1. mysql期末考试试卷_MySQL数据库考试试题及答案

    MySQL 数据库考试试题及答案 试题一 一.单项选择题 (本大题共 20 小题,每小题 2 分,共 40 分 ) 在每小题列出的四个备选项中只有一个是符合题目要求的, 请将其代码填写在题 后的括号内 ...

  2. mysql期末考试试卷_MySQL数据库测试题

    MySQL数据库入门 1.假设要按照分页(每页显示10条)的形式获取test表中的数据,在MySql数据库中,以下哪条语句是取第2页中的数据?(单选)(难度A) A.select * from tes ...

  3. mysql期末考试试卷_MySQL考试试题及答案

    <MySql高级数据分析>期末测试 一.选择题(总分50分,每题2分) 1.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当(B) A)使用WHERE子句 B)在GROUP B ...

  4. mysql期末考试试卷_mysql试题

    net start mysql found_rows函数 返回select的总行数 哪种操作能够实现实体完整性 设置外键 数据模型三要素:数据结构.数据操作.完整性约束,哪项不属于数据模型 网状模型( ...

  5. mysql期末考试试卷_MySQL数据库考试试题和答案

    WORD 格式整理 专业:移动通信 科目: MySQL 数据库 一.单项选择题 1 .以下聚合函数求数据总和的是 (      ) A . MAX B . SUM C . COUNT D . AVG ...

  6. 小学五年级计算机期末测试题,小学五年级信息技术期末考试试卷

    与<小学五年级信息技术期末考试试卷>相关的范文 小学三年级信息技术期末考试试卷 班级: 姓名: 成绩: 一.填空题.(每空10分,共20分) 1.你想知道所写的文章有多少字,可以单击&qu ...

  7. 计算机组装与维修是几级考试,计算机组装与维修期末考试试卷讲解学习.pdf

    学而不思则惘,思而不学则殆 组装与维修期末考试试卷 一.选择题 1.下列显卡接口中,能在一根线缆上同时传输高清晰.全数字的音频和视频信号的是() A .DVI B.S-VIDEO C .D-SUB D ...

  8. 微型计算机原理 考试试题,微机原理期末考试试卷(有答案)

    微机原理期末考试试卷,有详细解析 <微机原理>考试试卷 一.判断题(每题1分,共10分) 1.十六位微型机的含义是:这种机器能同时处理十六位二进制数.(√) 2.微机的字长愈长,计算精度愈 ...

  9. 计算机 专业英语 考试,《计算机专业英语》期末考试试卷

    以下为<<计算机专业英语>期末考试试卷>的无排版文字预览,完整内容请下载 2014年下学期<计算机专业英语>期中考试试卷 班级:_________ 姓名:_____ ...

最新文章

  1. python PyQt5 QSlider类(滑块)
  2. 批量删除数据库中有特定开始字符的表、视图和存储过程
  3. Curator实现分布式锁的基本原理-LockInternals.attemptLock
  4. word List36
  5. matlab 写excel 慢_我在12w+的Python库中,发现了让Excel快到起飞的秘密......
  6. Python 多线程进程高级指南(二)
  7. 第一位女性商业程序员玛丽库姆斯去世,享年 93 岁
  8. 春节前后,太原将举办多种展览演出
  9. 如何用计算机辅助设计进行设计,计算机辅助设计的基本概念和特点
  10. GPIO的8种工作模式
  11. CMMI3学习之路(一):在质疑与挣扎中偶然发现她竟是如此美丽
  12. Java项目中使用OpenOffice转PDF
  13. 使用Java程序实现计算器
  14. 关于HDS的高端存储设备USPV
  15. 删除idb无法启动 mysql 数据库
  16. 利用python批量创建.xsh文件实现Xshell批量登录服务器
  17. 信息系统项目管理师---第十五、十六章 知识管理及项目变更管理历年考题
  18. python定时开关机的代码_python实现Windows电脑定时关机
  19. 2022云计算真题:日志分析服务
  20. 【玩转Jetson TX2 NX】(九)TX2 NX 安装onnx-tensorrt工具(详细教程+错误解决)

热门文章

  1. 链表问题18——向有序的环形单链表中插入新节点
  2. 栈与队列9——最大值减去最小值小于或等于num的子数组的数量
  3. 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
  4. IDEA 配置maven
  5. mongo实现消息队列
  6. zookeeper watches
  7. 如何让Table显示滚动条
  8. ORA-32004: obsolete and/or deprecated parameter(s) specified
  9. Android 动画之View动画效果和Activity切换动画效果
  10. 菜鸟学iPhone开发-计算器实例(实现篇)