1. 1、将所有的课程的名称以及对应的任课老师姓名打印出来,如下:
  2. SELECT cname,tname FROM course INNER JOIN teacher WHERE course.teacher_id=teacher.tid
  3.  
  4. 2、查询学生表中男女生各有多少人? 如下:
  5. SELECT gender,COUNT(gender) 人数 FROM student GROUP BY gender
  6. 3、查询物理成绩等于100的学生的姓名?如下:
  7. SELECT sid,sname FROM student WHERE sid in (SELECT student_id FROM score WHERE course_id=2 and num=100)
  8.  
  9. 4、查询平均成绩大于八十分的同学的姓名和平均成绩,如下:
  10. SELECT sname,平均成绩 from (SELECT sid,sname from student) s INNER JOIN
  11. (SELECT student_id,avg(num) 平均成绩 from score GROUP BY student_id HAVING avg(num)>80) c
  12. WHERE sid=student_id
  13.  
  14. 5、查询所有学生的学号,姓名,选课数,总成绩
  15. SELECT s.sid,s.sname,x.课程数,x.总成绩 FROM (SELECT sid,sname FROM student) s INNER JOIN
  16. (SELECT student_id,COUNT(course_id) 课程数,SUM(num) 总成绩 from score GROUP BY student_id) x
  17. WHERE sid=student_id
  18.  
  19. 6、查询姓李老师的个数
  20. SELECT COUNT(tid) FROM teacher WHERE tname like '李%'
  21.  
  22. 7、查询没有报李平老师课的学生姓名
  23. SELECT DISTINCT sname FROM student WHERE sid not in (SELECT DISTINCT student_id FROM score WHERE course_id in (SELECT cid from course WHERE teacher_id=2))
  24.  
  25. 8、查询物理课程比生物课程高的学生的学号
  26. SELECT sw.student_id from (SELECT student_id,num from score WHERE course_id=2) wl INNER JOIN
  27. ( SELECT student_id,num from score WHERE course_id=1) sw
  28. WHERE wl.num>sw.num and wl.student_id=sw.student_id
  29.  
  30. 9、查询没有同时选修物理课程和体育课程的学生姓名
  31. SELECT sname FROM student WHERE sid in
  32. (SELECT wl.student_id FROM (SELECT student_id,course_id from score WHERE course_id=2) wl INNER JOIN
  33. (SELECT student_id,course_id from score WHERE course_id=3) ty
  34. WHERE wl.student_id=ty.student_id)
  35.  
  36. 10、查询挂科超过两门(包括两门)的学生姓名和班级
  37. SELECT sname,caption FROM class INNER JOIN
  38. (SELECT sname,class_id from student INNER JOIN (SELECT student_id,COUNT(student_id) 挂科次数 FROM score
  39. WHERE num<60 GROUP BY student_id) gk WHERE sid=student_id and 挂科次数>=2) s
  40. WHERE cid=class_id
  41.  
  42. 11 、查询选修了所有课程的学生姓名
  43. SELECT sname FROM student WHERE sid in (SELECT c.student_id FROM (SELECT a.student_id FROM (SELECT * from score WHERE course_id=1) a
  44. INNER JOIN (SELECT * from score WHERE course_id=2) b
  45. WHERE a.student_id=b.student_id) c INNER JOIN
  46. (SELECT a.student_id FROM (SELECT * from score WHERE course_id=2) a
  47. INNER JOIN (SELECT * from score WHERE course_id=3) b
  48. WHERE a.student_id=b.student_id) d
  49. WHERE c.student_id=d.student_id)
  50.  
  51. 12、查询李平老师教的课程的所有成绩记录
  52. SELECT sid,sname,cname,num FROM course INNER JOIN (SELECT student.sid,sname,course_id,num FROM student INNER JOIN (SELECT * FROM score WHERE course_id in
  53. (SELECT cid FROM course WHERE teacher_id=(SELECT tid FROM teacher WHERE tid=2))) a
  54. WHERE student.sid=a.student_id) a WHERE cid=a.course_id
  55.  
  56. 13、查询全部学生都选修了的课程号和课程名:没有
  57. SELECT * from (SELECT course_id,COUNT(student_id) 报名人数 FROM score GROUP BY course_id) a INNER JOIN
  58. (SELECT COUNT(sid) 学生总数 FROM student) b
  59. WHERE 报名人数=学生总数
  60.  
  61. -- 14、查询每门课程被选修的次数
  62. SELECT course.cname,a.aa from (select course_id,count(course_id)as aa from score GROUP BY course_id)as a
  63. INNER JOIN course on course.cid=a.course_id
  64.  
  65. -- 15、查询之选修了一门课程的学生姓名和学号
  66. SELECT student.sid,student.sname,a.aa from (SELECT student_id,count(student_id) as aa from score GROUP BY student_id having aa=1) as a
  67. INNER JOIN student on student.sid=a.student_id
  68.  
  69. -- 16、查询所有学生考出的成绩并按从高到低排序(成绩去重)
  70. select DISTINCT(num) FROM score ORDER BY num DESC
  71.  
  72. -- 17、查询平均成绩大于85的学生姓名和平均成绩
    SELECT student.sname,a.aa from (SELECT student_id,avg(num) as aa from score GROUP BY student_id having aa >85) as a
    INNER JOIN student on student.sid=a.student_id
  73.  
  74. -- 18、查询生物成绩不及格的学生姓名和对应生物分数
    select student.sname,a.num from (SELECT * from score where num < 60 and course_id=
    (SELECT cid FROM course where cname='生物')) as a
     INNER JOIN student on student.sid=a.student_id

MySQL之练习题5的更多相关文章

  1. 【Python全栈-后端开发】MySQL数据库-练习题

    MySQL数据库-练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号 ...

  2. MYSQL经典练习题,熟悉DQL

    MYSQL经典练习题 (本练习题可让你熟悉DQL,快速的上手DQL) 首先,先在数据库中建立基本数据库以及表项: DROP DATABASE IF EXISTS `test`; CREATE DATA ...

  3. MySQL经典练习题

    表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...

  4. day41 mysql 学习 练习题 重要*****

    MySQL 练习题[二1.表如下: 收获和注意点:***** #1 GROUP by 可以放到where s_id in ()条件局后边 GROUP BY s_id having 详见题12 #2 做 ...

  5. mysql 及练习题

    if() 函数的用法 IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为false, mysql,'女','男') as sex fr ...

  6. MySQL--python关联MySQL、练习题

    1.python关联MySQL pymysql: 安装:pip3 install pymysql 1.0:连接到数据库中 import pymysql conn = pymysql.connect( ...

  7. MySQL经典练习题及答案,常用SQL语句练习50题

    表名和字段 –1.学生表 Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别 –2.课程表 Course(c_id,c_name,t_id ...

  8. 四、MYSQL数据练习题

    我的MYSQL版本是mysql-5.7.24-winx64,每天练习5道习题. 如果有错误或者更优的解决方法,欢迎大家指出,谢谢!! 一.测试表格 --1.学生表Student(Sid,Sname,S ...

  9. mysql基础练习题

    一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 /* Navicat MySQL Data Transfer Source Server : mysql5.7.1 Sour ...

  10. 一道很好的mysql面试练习题,having综合应用

    写一条SQL语句,求出2门以及2门以上不及格的科目平均分 >要出现2门以及2门以上的学科不及格 >计算该考生所有学科的平均分,不单是,不及格的那几门 #创建表: create table ...

随机推荐

  1. HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. ASP.NET的gridview设置数据格式(DataFormatString="{}") 2011年04月08日 16:26:00 阅读数:5318 标签: asp.net datagrid integer asp date strin

    select convert(numeric(8,2),round(UnTaxAmount,2))as UnTaxAmount from View_SaleVoiceselect   cast(UnT ...

  3. selenium中使用chromedriver备忘

    chromedriver是chrome浏览器的webdriver的一个实现.ChromeDriver是由Chrome开发团队来完成的因而ChromeDriver不包含在selenium包中,需要从Ch ...

  4. 与servlet相关的接口

    (二)与servlet相关的接口 从servlet仅有的5个方法当中,我们知道其涉及3个接口,分别是: ServletConfig ServletRequest ServletResponse 2.1 ...

  5. 01Tensorflow学习之Tensorflow基本介绍

    1 tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着N维数组,Flow(流)意味着基 ...

  6. 是否需要主动调用Bitmap的recycle方法

    一个Bitmap使用完后,是只需要等它成为垃圾后让GC去回收,还是应该主动调用recycle方法呢?或者说,主动调用recycle方法是否有好处,是否能马上回收内存呢? 带着这个问题来看源码(我看的4 ...

  7. css3 fileter始终效果 图片渲染

    http://www.w3cplus.com/css3/ten-effects-with-css3-filter

  8. Nexus 安装 使用说明

    1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件.有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库:否则,私服请求外部 ...

  9. spring JPA分页排序条件查询

    @RequestMapping("/listByPage") public Page<Production> listByPage(int page, int size ...

  10. Spring依赖注入:注解注入

    注解注入顾名思义就是通过注解来实现注入, Spring和注入相关的常见注解有Autowired.Resource.Qualifier.Service.Controller.Repository.Com ...