一、现有数据库casemanage中表结构如下图

TABLENAME:afinfo

1)请编写sql语句对年龄进行升序排列

select * from afinfo order by birth;

2)请编写sql语句查询对“徐”姓开头的人员名单

select * from afinfo where name like '徐%';

3)请编写sql语句修改“陈晓”的年龄为“45”

update afinfo set age=45 and birth=birth-YEAR(45) where name="陈晓";

4)请编写sql删除王芳芳这表数据记录。

delete from afinfo where name="王芳芳";

二、现有以下几个表

1)查询出所有学生信息,SQL怎么编写?

select * from afinfo order by birth;

2)新学生小明,学号为005,需要将信息写入学生信息表,SQL语句怎么编写?

3)李四语文成绩被登记错误,成绩实际为85分,更新到考试信息表中,SQL语句怎么编写?

select * from afinfo where name like '徐%';

4)查询出各科成绩的平均成绩,显示字段为:学科、平均分,SQL怎么编写?

5)查询出所有学生各科成绩,显示字段为:姓名、学号、学科、成绩,并以学号与学科排序,没有成绩的学生也需要列出,SQL怎么编写?

update afinfo set age=45 and birth=birth-YEAR(45) where name="陈晓";

6)查询出单科成绩最高的,显示字段为:姓名、学号、学科、成绩,SQL怎么编写?

7)列出每位学生的各科成绩,要求输出格式:姓名、学号、语文成绩、数学成绩、英语成绩,SQL怎么编写?

三、根据要求写出SQL语句。

Student(s_no,sname,sage,sex)学生表

Course(c_no,cname,t_no)课程表

Sc(s_no,c_no,score)成绩表

Teacher(t_no,tname)教师表

1、查询“001”课程比“002”课程成绩高的所有学生的学号。

delete from afinfo where name="王芳芳";

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

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

4、查询姓李的老师的个数。

select count(distinct(tname)) from Teacher where tname like '李';

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

select Student.s_no,Student.sname from Student where s_no not in(select distinct (Sc.s_no) from Sc,Course,Teacher where Sc.s_no=Course.c_no and Teacher.t_no=Course.t_no and Teacher.tname='叶平');

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

select Student.s_no,Student.sname from Student,Sc where Student.s_no=Sc.s_no and Sc.c_no='002' and exists(select * from Sc as Sc1 where Sc.s_no=Sc1.s_no and Sc1.s_no='002');

7、查询所有课程成绩小于60分的同学的学号、姓名。

select s_no,sname from Student where s_no not in (select S.s_no from Student AS S,Sc where S.s_no=Sc.s_no and score>60);

8、查询没有学全所有课的同学的学号、姓名。

select Student.s_no,Student.sname from Student,Sc where Student.s_no=Sc.s_no group by Student.s_no,Student.sname having count(c_no)

9、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名。

select distinct s_no,sname from Student,Sc where Student.s_no=Sc.s_no and Sc.c_no in (select c_no from Sc where s_no='1001');

10、把“sc”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩。

update Sc set score=(select avg(Sc_2.score) from Sc Sc_2 where SC_2.c_no=Sc.c_no ) from Course,Teacher where Course.c_no=Sc.c_no and Course.t_no=Teacher.t_no and Teacher.tname='叶平');

11、查询和“1002”号同学学习的课程完全相同的其他同学学号和姓名。

select s_no from Sc where c_no in (select c_no from Sc where s_no='1002') group by s_no having count(*)=(select count(*) from Sc where s_no='1002');

12、删除学习“叶平”老师课的sc表记录。

delete Sc from course,Teacher where Course.c_no=SC.c_no and Course.t_no=Teacher.t_no and tname='叶平';

13、向sc表中插入一些记录,这些记录要求符合一下条件:没有上过编号“003”课程的同学学号

insert into Sc select s_no from Student where s_no not in (Select s_no from Sc where c_no='003');

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

SELECT L.c_no As c_no,L.score AS max_score,R.score AS mix_score FROM Sc L ,Sc AS RWHERE L.c_no = R.c_no andL.score = (SELECT MAX(IL.score)FROM Sc AS IL,Student AS IMWHERE L.c_no = IL.c_no and IM.s_no=IL.s_noGROUP BY IL.c_no)ANDR.Score = (SELECT MIN(IR.score)FROM Sc AS IRWHERE R.c_no = IR.c_noGROUP BY IR.c_no) order by L.c_no;

15、查询不同老师所教不同课程平均分从高到低显示。

select c_no,avg(score) avg_score from Sc group by c_no order by avg_score desc 

16、统计各科成绩,各分数段人数:课程ID,课程名称,【100-85】,【85-70】,【70-60】,【<60】

select Course.c_no,cname,count(case when score>85 and score<=100 then score end) '[85-100]',count(case when score>70 and score<=85 then score end) '[70-85]',count(case when score>=60 and score<=70 then score end) '[60-70]',count(case when score<60 then score end) '[<60]'from Course,Scwhere Course.c_no=Sc.c_nogroup by Course.c_no,c_name;

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

select c_no,count(*) from Sc group by c_no;

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

select Student.s_no,Student.sname,count(c_no) from Student join Sc on Student.s_no=Sc.s_no group by Student.s_no, Student.sname having count(c_no)=1;

19、查询男生、女生人数

select count(*) from Student group by sex;

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

select * from Student where sname like '张%';

21、查询同名同性学生名单,并统计同名人数。

select sname ,count(*) from Student group by sname having count(*)>1;

22、查询1994年出生的学生名单(注:student表中sage列的类型是datatime)

select * from Student where year(curdate())-age='1994';

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

select c_no ,avg(score)from Sc group by c_no order by avg(score) asc,c_no desc;

24、查询平均成绩都大于85的所有学生的学号,姓名和平均成绩

select Student.s_no,Student.sname,avg(score) from Student,Sc where Student.s_no=Sc.s_no group by Student.s_no, Student.sname having avg(score)>85;

25、查询课程名称为“数据库”且分数低于60的学生姓名和分数

select Student.sname,Sc.score from Student,Sc where Student.s_no=Sc.s_no and Sc.score<60 and Sc.c_no=(select c_no from Course where cname='数据库');

26、查询所有学生的选课情况

select Student.s_no,Student.sname,Sc.s_no,Course.cname from Student,Sc,Course where Student.s_no=Sc.s_no and Sc.c_no=Course.c_no;

27、查询不及格的课程,并按课程号从大到小排序。

select Student.sname,Sc.c_no,Course.cname,Sc.score from Student,Sc,Course where Student.s_no=Sc.s_no and Sc.c_no=Course.c_no and Sc.score<60 order by c_no;

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

select Student.s_no,Student.sname from Student,Sc,Course where Sc.score>80 and Course.c_no='003';

29、求选修了课程的学生人数。

select count(*) from (select count(*) from Sc group by s_no) b;

30、查询选修了“冯老师”所授课程的学生中,成绩最高的学生姓名及其成绩。

select Student.sname,Sc.score from Student,Sc,Course where Student.s_no=Sc.s_no and Sc.c_no=Course.c_no order by score desc limit 1;

31、查询各个课程及相应的选修人数。

select Course.c_no,Course.cname,count(s_no) from Course join Scon Course.c_no=Sc.c_no group by Course.c_no, Course.cname;

32、查询每门课程最好的前两名。

select a.s_no,a.c_no,a.score from Sc a where (select count(distinct score) from Sc b where b.c_no=a.c_no and b.score>=a.score)<=2 order by a.c_no,a.score desc ;

33、查询每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,查询结果按人数降序排列,若人数相同,按课程号升序排列。

select Sc.c_no,count(*) from Sc group by c_no having count(*)>10 order by count(*) desc,c_no;

34、检索至少选修两门课程的学生学号。

select s_no from Sc group by s_no having count(*)>2;

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

select Course.c_no,Course.cname from Course join Sc on Course.c_no=Sc.c_no join (select c_no,count(s_no) from Sc group by c_no having count(s_no)=(select count(*) from Student) )as a on Course.c_no=a.c_no;

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

select s_no,avg(score) from Sc where s_no in (select s_no from Sc where score<60 group by s_no having count(*)>2) group by s_no;

以上是本文的全部内容,希望对大家的学习有帮助,觉得有用,有需要就支持一下吧

sql where中用case_一份虐你千百遍的SQL语句面试题,请笑纳相关推荐

  1. sql 删除最低分数_一份虐你千百遍的SQL语句面试题,请笑纳

    一.现有数据库casemanage中表结构如下图 TABLENAME:afinfo 1)请编写sql语句对年龄进行升序排列 select * from afinfo order by birth; 2 ...

  2. VMware虐我千百遍,我却待她如初恋

    文章目录 一.相关环境 1.操作系统 2.VMware版本 二.我遇到过的bug 1.VMCI驱动程序无法自动安装,需要手动安装 2.Vmware提示以独占方式锁定此配置文件失败 3.VMware提示 ...

  3. 算法虐我千百遍,我待算法如初恋

    转自:算法虐我千百遍,我待算法如初恋 算法虐我千百遍,我待算法如初恋. 学习方法  1) 把所有经典算法写一遍  2) 看算法源码  3) 加入算法学习社区,相互鼓励学习  4) 看经典书籍 基本数据 ...

  4. 那些曾虐我千百遍的计算机组成原理

    那些曾虐我千百遍的计算机组成原理 本笔记知识点来源于b站狂神说:聊汇编先导课,有兴趣的小伙伴点这里:狂神聊汇编先导课 文章目录 那些曾虐我千百遍的计算机组成原理 进制的本质 有符号数和无符号数的区别 ...

  5. Maven 虐我千百遍,我待 Maven 如初恋 侵删

    前言 在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见.Maven的仓库管理.依赖管理.继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那 ...

  6. 客户虐我千百遍,我待客户如初恋

    误闯误撞,进入了IDC行业,从事了服务器租用及托管的销售工作.很多人问我,什么是IDC,什么是服务器?我知道我解释的过于专业那么会有更多的问题,毕竟自己也不是百科全书,只好简答回复"没有显示 ...

  7. 我待数据如初恋,数据虐我千百遍

    我待数据如初恋,数据虐我千百遍 1.几个基础概念 1.1表达式 1.2语句 1.3程序 1.4函数 2.标识符 2.1关键字 2.2标识符的构成 3.基本数据类型 3.1整数和小数 3.2 布尔值和空 ...

  8. 微软虐我千百遍——记一次比较漫长的TFS数据库迁移

    起因 七月三日早晨刚到公司,同事就跟我讲TFS开始返回 TF30042错误,报告数据库已满.按照处理问题的第一直觉,我上bing的英文网站搜了一下,发现是部署TFS的时候使用的SQL Express限 ...

  9. Maven虐我千百遍,我待Maven如初恋!

    来源 | 张丰哲 jianshu.com/p/20b39ab6a88c 互联网开发,特别Java领域,可以说Maven随处可见.Maven的仓库管理.依赖管理.继承和聚合等特性为项目构建提供了一整套完 ...

最新文章

  1. WordPress首页调用QQ签名
  2. 制作r710 linux系统盘,记一次云主机系统盘扩容及制作私有镜像的操作步骤
  3. openwrt 需要高级浏览器_OpenWrt的新(shi)奇(yong)玩法
  4. 华为鸿蒙os什么运行内存多大,华为公布鸿蒙OS 2.0硬件安装要求:只要128K内存就能跑...
  5. 【今天下午活动】从 HelloWorld 到 AntDesign,Blazor 将 .NET 带到现代前端圈
  6. 第十九期:HTTPS虐我千百遍,我却待她如初恋!
  7. 《Programming WPF》学习(一)Hello WPF
  8. python颜色填充代码_求懂WORD的大佬怎么一次性填充颜色或者使用python识别
  9. socket编程(十)
  10. Linux列出安装过的程序
  11. mysql计算同比和环比的区别_SQL 求同比 环比
  12. idea打断点是白色的
  13. 欧拉函数为什么是积性函数
  14. Unity打包后窗口在PC端不按照设置的大小显示
  15. acwing1148——秘密的牛奶运输(求次小生成树)
  16. ASCII码表和常见键盘码
  17. 司空见惯 - 一树春风
  18. word修订模式怎么彻底关闭_如何去掉word修订模式
  19. 管理系统之KTV点歌系统
  20. Dev 与 Ops 互怼 | 科普一下 DevOps

热门文章

  1. Sklearn专题实战——数据处理+模型构建+网格搜索+保存(提取)模型
  2. 一生温暖纯良,不舍爱与自由
  3. 指数分布的定义形式及应用
  4. Python 爬虫从入门到进阶之路(四)
  5. JsonConfig处理日期时间
  6. webstorm 配置sass
  7. jvm 虚拟机的组成部分
  8. Python爬虫之selenium爬虫,模拟浏览器爬取天猫信息
  9. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉...
  10. 音乐播放插件Aplayer+WebAPI的使用【附下载】