当前位置: 首页 > news >正文

MySQL面试题(下)

09)查询学过「张三」老师授课的同学的信息

SELECTs.*,c.cname,t.tnameFROMt_mysql_teacher t,t_mysql_student s,t_mysql_course c,t_mysql_score scWHEREt.tid=c.tid and c.cid=sc.cid and sc.sid=s.sid and tname = '张三'

10)查询没有学全所有课程的同学的信息

SELECTs.sid,s.sname,count(sc.score) nFROMt_mysql_score sc,t_mysql_student sWHEREsc.sid=s.sidGROUP BYs.sid,s.snameHAVINGn<(select count(c.cid) from t_mysql_course c )

11)查询没学过"张三"老师讲授的任一门课程的学生姓名

SELECT s.* FROM t_mysql_student s where s.sid not in(SELECTsc.sidFROMt_mysql_teacher t,t_mysql_course c,t_mysql_score scWHEREt.tid=c.tid and c.cid=sc.cid and t.tname='张三'GROUP BYsc.sid)


12)查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

SELECTs.sid,s.sname,ROUND(AVG(sc.score)) 平均成绩,COUNT(sc.cid) nFROMt_mysql_student s,t_mysql_score scWHEREs.sid=sc.sid and sc.score<60GROUP BYs.sid,s.snameHAVINGn>=2


13)检索" 01 "课程分数小于 60,按分数降序排列的学生信息

SELECTs.*FROMt_mysql_score sc,t_mysql_student sWHEREsc.sid=s.sid and sc.score<60 and cid='01'ORDER BY sc.score DESC


14)按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

SELECT
s.sid,s.sname,round(AVG(sc.score),2) avgNum ,
max(case when sc.cid='01' then sc.score end)语文,
max(case when sc.cid='02' then sc.score end)数学,
max(case when sc.cid='03' then sc.score end)英语
FROM
t_mysql_score sc,t_mysql_student s,t_mysql_course c
WHEREsc.sid=s.sid and sc.cid=c.cid
GROUP BY
s.sid,s.sname
ORDER BY avgNum desc


15)查询各科成绩最高分、最低分和平均分:
以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

SELECTc.cid,c.cname,count(sc.sid) 人数,max(sc.score) 最高分,min(sc.score) 最低分,ROUND(avg(sc.score),2) 平均分,CONCAT(ROUND(sum(if(sc.score>=60,1,0))/(SELECT COUNT(1) from t_mysql_student)*100 ,2),'%') 及格率,CONCAT(ROUND(sum(if(sc.score>=70 and sc.score<80,1,0))/(SELECT COUNT(1) from t_mysql_student)*100 ,2),'%') 中等率,CONCAT(ROUND(sum(if(sc.score>=80 and sc.score<90,1,0))/(SELECT COUNT(1) from t_mysql_student)*100 ,2),'%') 优良率,CONCAT(ROUND(sum(if(sc.score>=90,1,0))/(SELECT COUNT(1) from t_mysql_student)*100 ,2),'%') 优秀率
FROMt_mysql_score scLEFT JOIN t_mysql_course c ON sc.cid = c.cid 
GROUP BYc.cid,c.cname

http://www.lryc.cn/news/279550.html

相关文章:

  • 【Linux】如何检查Linux用户是否具有sudo权限
  • 2024.1.13 Kafka六大机制和Structured Streaming
  • 遥感影像-语义分割数据集:Landsat8云数据集详细介绍及训练样本处理流程
  • YOLOV8在coco128上的训练
  • 设计模式——享元模式
  • 【Python机器学习】分类器的不确定估计——决策函数
  • 云原生周刊:K8sGPT 加入 CNCF | 2024.1.8
  • LightGBM原理和调参
  • ROS无人机开发常见错误
  • Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C#)
  • 第一次面试总结 - 迈瑞医疗 - 软件测试
  • 利用Qt输出XML文件
  • OpenWrt智能路由器Wan PPPoE拨号配置方法
  • (十一)IIC总线-AT24C02-EEPROM
  • 现在做电商还有发展空间吗?哪个平台的盈利比较大?
  • 多节点 docker 部署 elastic 集群
  • 2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑨
  • C++核心编程——文件操作
  • 【REST2SQL】05 GO 操作 达梦 数据库
  • GitLab 502 Whoops, GitLab is taking too much time to respond. 解决
  • vi ~/.bashrc 后如何编辑并退出
  • KVM Vcpu概述
  • linux服务器ftp部署
  • NSIS 安装windows 安装包(包括QT和MFC)
  • K8S----PVPVCSC
  • RSIC-V“一芯”学习笔记(一)——概述
  • MATLAB读取图片并转换为二进制数据格式
  • 时序数据库
  • 【第一次使用finalshell连接虚拟机内的centos】小白处理方式
  • Pinia 踩坑记录