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

2 SELECT a.s FROM sc a,sc b WHERE a.s=b.s AND a.c='1' AND b.c='2' AND a.score >b.score;3 --2、查询平均成绩大于60分的同学的学号和平均成绩;

4 SELECT student.s,avg(score) FROM student,sc WHERE student.s=sc.s GROUP BY student.s HAVING avg(score) > 60;5 --3、查询所有同学的学号、姓名、选课数、总成绩;

6 SELECT student.s,sname,COUNT(*),SUM(score) FROM student,course,sc WHERE student.s=sc.s AND course.c=sc.c GROUP BYstudent.s;7 --4、查询姓“李”的老师的个数;

8 SELECT COUNT(*) FROM teacher WHERE tname LIKE '李%';9 --5、检索“004”课程分数小于60,按分数降序排列的同学学号 ;

10 SELECT student.s FROM course,student,sc WHERE course.c = sc.c AND student.s=sc.s AND course.c='4' AND score<60 ORDER BY score DESC;11 --6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;

12 SELECT student.s,sname FROM student,sc a,sc b WHERE a.s=b.s AND student.s=a.s AND student.s=b.s AND a.c='1' AND b.c='2';13 --7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;

14 SELECT student.s,sname FROM student,course,teacher,sc WHERE student.s=sc.s AND course.c=sc.c AND course.t=teacher.t AND tname='叶平';15 --8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

16 SELECT student.s,student.sname FROM student,sc a,sc b WHERE student.s=a.s AND student.s=b.s AND a.s=b.s AND a.c='1' AND b.c='2' AND a.score >b.score;17 --9、查询所有课程成绩小于60分的同学的学号、姓名;

18 SELECT s,sname FROM student WHERE s NOT IN (SELECT s FROM sc WHERE score >= 60);19 --10、查询没有学全所有课的同学的学号、姓名;

20 SELECT s,sname FROM student WHERE (SELECT COUNT(*) FROM sc WHERE student.s=sc.s) < (SELECT COUNT(*) FROMcourse);21 --11、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;

22 SELECT s,sname FROM student WHERE s IN (SELECT DISTINCT s FROM sc WHERE c IN (SELECT c FROM sc WHERE s='1'));23 --12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;

24 SELECT DISTINCT student.s,sname FROM student,sc WHERE student.s=sc.s AND sc.c IN (SELECT c FROM sc WHERE s='1') AND sc.s != '1';25 --13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;

26 UPDATE sc SET score=(SELECT e.平均成绩 FROM (SELECT AVG(score) 平均成绩 FROM sc GROUP BY c HAVING c IN

27 (SELECT c FROM course,teacher WHERE course.t=teacher.t AND teacher.tname='叶平'))e);28 --14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;

29 SELECT DISTINCT student.s,sname FROM student,sc WHERE student.s=sc.s AND sc.c IN (SELECT c FROM sc WHERE s='2') AND sc.s != '2';30 --15、删除学习“叶平”老师课的SC表记录;

31 DELETE FROM sc WHERE c=(SELECT e.c FROM (SELECT DISTINCT c FROM sc WHERE c IN

32 (SELECT course.c FROM course,teacher WHERE course.t=teacher.t AND tname='叶平'))e);33 --16、向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学

34 --INSERT表查询结果可以直接将后面的查询结果插入表中

35 INSERT sc SELECT * FROM sc WHERE NOT s IN (SELECT s FROM sc WHERE c=3);36 --17、查询每门课程被选修的学生数

37 SELECT c,COUNT(s) FROM sc GROUP BYc;38 --18、查询出只选修了一门课程的全部学生的学号和姓名

39 SELECT s,sname FROM student WHERE s IN (SELECT s FROM sc GROUP BY s HAVING COUNT(c)=1);40 --19、查询男生、女生人数

41 SELECT COUNT(*) FROM student WHERE ssex='男';42 SELECT COUNT(*) FROM student WHERE ssex='女';43 --20、查询姓“张”的学生名单

44 SELECT * FROM student WHERE sname LIKE '张%';45 --21、查询同名同性学生名单,并统计同名人数

46 SELECT *,COUNT(sname) FROM student GROUP BY sname HAVING COUNT(sname) > 1;47 --22、1981年出生的学生名单(注:Student表中Sage列的类型是datetime)

48 SELECT s,sname FROM student WHERE DATE_FORMAT(saged,'%Y')='1981';49 --23、查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列

50 SELECT c,AVG(score) FROM sc GROUP BY c ORDER BY AVG(score) ASC,c DESC;51 --24、查询平均成绩大于85的所有学生的学号、姓名和平均成绩

52 SELECT student.s,sname,AVG(score) FROM sc,student WHERE student.s = sc.s GROUP BY student.s HAVING AVG(score) > 85;53 SELECT student.s,student.sname ,e.平均成绩 FROM student,(SELECT s,AVG(score) 平均成绩 FROM sc GROUP BY s HAVING AVG(score)>85) e WHERE student.s=e.s;54 --25、查询课程名称为“数据库”,且分数低于60的学生姓名和分数

55 SELECT sname,score FROM student,course,sc WHERE student.s=sc.s AND course.c=sc.c AND cname='数据库' AND score < 60;56 SELECT student.s ,student.sname ,e.score FROM student,(SELECT s,score FROM sc WHERE c IN (SELECT c FROM course WHERE cname='数据库')AND score<60) e WHERE student.s=e.s;57 --26、查询所有学生的选课情况;

58 SELECT student.s,sname,course.c,cname FROM student,sc,course WHERE course.c=sc.c AND student.s=sc.s;59 --27、查询任何一门课程成绩在70分以上的姓名、课程名称和分数;

60 SELECT sname,cname,score FROM student,course,sc WHERE student.s=sc.s AND course.c=sc.c AND score>70;61 --28、查询不及格的课程,并按课程号从大到小排列

62 SELECT s,score,cname FROM course,sc WHERE course.c=sc.c AND score < 60 GROUP BY course.c ORDER BY course.c DESC;63 --29、查询课程编号为003且课程成绩在80分以上的学生的学号和姓名

64 SELECT student.s,sname FROM student,sc WHERE student.s=sc.s AND c=3 AND score>80;65 --30、求选了课程的学生人数

66 SELECT COUNT(DISTINCT s) FROMsc;67 --32、查询各个课程及相应的选修人数

68 SELECT course.c,cname,COUNT(DISTINCT s) FROM sc,course WHERE sc.c=course.c GROUP BYcourse.c;69 --33、查询不同课程成绩相同的学生的学号、课程号、学生成绩

70 SELECT student.s,course.c,score FROM student,sc,course WHERE student.s=sc.s AND course.c=sc.c71 --34、检索至少选修两门课程的学生学号

72 SELECT DISTINCT s FROM sc GROUP BY c HAVING COUNT(DISTINCTc);73 --35、查询全部学生都选修的课程的课程号和课程名

74 SELECT c,cname FROM course WHERE c IN(SELECT c FROM sc GROUP BYc);75 --36、查询没学过“叶平”老师讲授的任一门课程的学生姓名

76 SELECT sname FROM student WHERE s NOT IN(SELECT s FROM sc,course,teacher WHERE sc.c=course.c AND course.t=teacher.t AND teacher.tname='叶平');77 --37、查询两门以上不及格课程的同学的学号及其平均成绩

78 SELECT s,AVG(IFNULL(score,0)) FROM sc WHERE s IN (SELECT s FROM sc WHERE score<60 GROUP BY s HAVING COUNT(s)>=2 ) GROUP BYs;79 --38、删除“002”同学的“001”课程的成绩

80 DELETE FROM sc WHERE s=2 AND c=1;

mysql中常见查询表_MySQL中常见查询相关推荐

  1. mysql获取当月最后一天_mysql中获取本月第一天、本月最后一天、上月第一天、上月最后一天

    mysql获取当月最后一天_mysql中获取本月第一天.本月最后一天.上月第一天.上月最后一天等等 转自: https://blog.csdn.net/min996358312/article/det ...

  2. mysql 回表查询优化_MySQL中的回表查询与索引覆盖:一次百万级别分页查询使用Limit 从90秒到0.6毫秒的优化...

    这里写目录标题 事故现场 解决方案 提到的"回表查询" InnoDB的索引 什么是回表查询 怎么优化回表查询 事故现场 数据库使用的MySQL,有一个日志表,需要进行分页查询,于是 ...

  3. mysql replace报错_Mysql中replace与replace into的用法讲解

    Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...

  4. mysql日期格式化季度_mysql中常用日期比较与计算函数

    MySql中时间比较的实现 unix_timestamp() unix_timestamp 函数可以接受一个参数,也可以不使用参数. 它的返回值是一个无符号的整数.不使用参数,它返回自1970年1月1 ...

  5. mysql if exists用法_MySQL中EXISTS的用法

    比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID F ...

  6. mysql添加临时索引_mysql 中添加索引的三种方法

    在mysql中有多种索引,有普通索引,全文索引,唯一索引,多列索引,小伙伴们可以通过不同的应用场景来进行索引的新建,在此列出三种新建索引的方法 mysql 中添加索引的三种方法 1.1 新建表中添加索 ...

  7. mysql sql 时间比较_mysql中sql语句进行日期比较

    这里是一个使用日期函数的例子.下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAY ...

  8. mysql 封装json数据类型_mysql中的json数据类型

    1. json JSON数组包含一个由逗号分隔的值列表,并包含在 字符[和]字符中: ["abc", 10, null, true, false] JSON对象包含一组由逗号分隔的 ...

  9. mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析

    这篇文章主要介绍了MySQL中使用replace.regexp进行正则表达式替换的用法,结合具体实例形式分析了replace.regexp正则替换的使用技巧与相关注意事项,需要的朋友可以参考下 本文实 ...

最新文章

  1. pythonweb开发-5个最好的Python Web开发框架
  2. maven项目的pom.xml 标签的含义
  3. matlab手写遗传算法解决一元函数最值问题(实例)
  4. 【SpringBoot】Spring项目中value注解,@Value不能够读取到配置文件的值,无法成功注入值的问题汇总及解决
  5. stylus之混合书写(Mixins)
  6. html画特殊图形(待修改)
  7. 写在校招季,谈谈机器学习岗的Offer选择问题
  8. js 异步函数讲解: Promise、async和await示例
  9. html——inline、block与block-inline区别
  10. php url 合法字符串_PHP函数补完:http_build_query()构造URL字符串
  11. Appstore抓包获取APP历史版本
  12. RFID中的天线技术-应用及设计现状
  13. Windows下etc文件夹
  14. PDF打开口令、PDF编辑限制如何解决
  15. 信捷PLC中Y0用C语言怎么表示,信捷PLC
  16. web工程的权限管理
  17. 浏览器如何使用HTTP防止ip限制
  18. Java数据结构之栈与计算器
  19. Socket基础四:基于流式套接字的网络程序(并发服务器设计)
  20. r安卡翻译成英文_WOW英文缩写翻译,新人必看!

热门文章

  1. mockito_吸收Mockito的流利度
  2. resteasy_RESTEasy教程第2部分:Spring集成
  3. java超出gc开销限制_超出了GC开销限制– Java堆分析
  4. adf4351使用_ADF:将UI类别与动态表单一起使用
  5. 如何使用Hibernate批处理DELETE语句
  6. Java Servlet教程– ULTIMATE指南(PDF下载)
  7. 无状态Spring安全性第2部分:无状态身份验证
  8. 使用Gradle将JAR工件发布到Artifactory
  9. Java状态和策略设计模式之间的差异
  10. 使用Java和Google GSON解析ESPN API