– 1.查询student表中所有的记录SELECT * FROM student;

– 2.查询student表中所有记录的s_name,s_sex和s_class列

SELECT s_no,s_name,s_class FROM  student;


– 3.查询教师所有的单位但是不重复的t_depart列

SELECT distinct (t_depart) FROM teacher;

– 4.查询score表中成绩在60-80之间所有的记录(sc_degree)

SELECT * FROM score WHERE sc_degree BETWEEN 61 AND 79;
SELECT * FROM score WHERE sc_degree < 80 AND sc_degree > 60 ;

– 5.查询score表中成绩为85, 86, 或者88的记录(sc_degree)

SELECT * FROM score WHERE sc_degree IN(85, 86, 88);


– 6.查询student表中’95031’班或者性别为’女’的同学记录

SELECT * FROM student WHERE s_class = '95031' OR s_sex = '女';

– 7.以class降序查询student表中所有的记录

SELECT * FROM student ORDER BY s_class desc;


– 8.以c_no升序.sc_degree降序插叙score表中所有的数据先以c_no进行升序,若c_no相同,则以sc_degree降序

SELECT * FROM score ORDER BY c_no ASC,sc_degree DESC;

– 9.查询’95031’班的学生人数

SELECT COUNT(s_no) FROM student WHERE s_class = '95031';


–10.查询score表中的最高分数的学生号和课程号.(子查询或者排序)

子查询:

 --查询步骤
1.先找到最高分
最高分: SELECT MAX(sc_degree) FROM score;
2.通过我们找到的最高分的分数来从score中找到我们需要的学生号和课程号
SELECT c_no, s_no FROM score WHERE sc_degree = (最高分)
最终:
SELECT c_no, s_no FROM score WHERE sc_degree = (SELECT MAX(sc_degree) FROM score);

排序:

排序 最高分有多个的情况下可能有数据问题
limit x,y  (x:表示从X条数据开始  y:需要查出多少条)
SELECT c_no, s_no FROM score ORDER BY sc_degree DESC LIMIT 0,1;这个OK
但是我们再插入一条数据:
INSERT INTO score VALUES('101','9-888','92');
再用排序法去查得到:
+-------+------+
| c_no  | s_no |
+-------+------+
| 9-888 | 101  |
+-------+------+
有两条数据但是只显示一条,有问题


– 11.查询每门课的平均成绩

SELECT c_no,AVG(sc_degree) FROM score GROUP BY c_no;


– 12,查询score表中至少有2名学生选修的,并且以3开头的课程的平均分

SELECT AVG(sc_degree),c_no  from score GROUP BY c_no HAVING COUNT(c_no)  >= 2 AND c_no like '3%'  ;


– 13.查询分数大于70但是小于90的s_no列:

SELECT s_no,sc_degree  FROM score WHERE sc_degree BETWEEN 71 AND 89;

– 14.查询所有的学生 s_name , c_no, sc_degree列

SELECT s_name, c_no, sc_degree FROM student,score WHERE student.s_no = score.s_no;


– 15.查询所有学生的s_no, c_name, sc_degree列

SELECT student.s_no, c_name, sc_degree FROM student, course,score WHERE student.s_no = score.s_no AND score.c_no = course.c_no ;

– 16.查询所有的学生 s_name , c_name, sc_degree列

SELECT s_name, c_name, sc_degree FROM student, course, score WHERE student.s_no = score.s_no AND score.c_no = course.c_no;


– 17.查询班级是’95031’班学生每门课的平均分

select c_no,AVG(sc_degree) from score WHERE s_no IN (select s_no from student where s_class = '95031') GROUP BY c_no;select c_no,AVG(sc_degree) from score AS sc LEFT JOIN student AS s ON sc.s_no = s.s_no WHERE s.s_class = '95031' GROUP BY sc.c_no;select sc.c_no,AVG(sc.sc_degree) FROM student AS s, score AS SC  WHERE s.s_class = '95031' AND s.s_no = sc.s_no GROUP BY sc.c_no ;


进阶,加入课程名称:

SELECT sc.c_no, c.c_name, AVG(sc.sc_degree) FROM student AS s, score AS SC, course AS c  WHERE s.s_class = '95031' AND s.s_no = sc.s_no AND c.c_no = sc.c_no GROUP BY sc.c_no ;

– 18.查询选修"3-105"课程的成绩高于’109’号同学’3-105’成绩 的所有同学的记录

SELECT * FROM student AS s, score AS sc WHERE sc.c_no = '3-105' AND sc.sc_degree > (SELECT sc_degree FROM score WHERE s_no = '109' AND c_no = '3-105') AND s.s_no = sc.s_no;


– 19.查询成绩高于学号为’109’,课程号为’3-105’的成绩的所有记录

SELECT * FROM score WHERE sc_degree >(SELECT sc_degree FROM score WHERE s_no = '109' AND c_no = '3-105');


– 20.查询所有学号为108.101的同学同年出生的所有学生的s_no,s_name和s_birthday

SELECT * FROM student WHERE YEAR(s_birthday) IN (SELECT YEAR(s_birthday) FROM student WHERE s_no IN('108','101'));

数据库(Mysql)----mysql查询练习(2、实操)相关推荐

  1. MySQL主从复制原理(原理+实操)

    1.MySQL主从复制原理(原理+实操) 主从复制简介 在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」. 比如:在复杂的业务系统中,有一句sql ...

  2. 详解:MySQL数据库的权限管理和运维实操

    详解:MySQL数据库的权限管理 一.MYSQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你权利以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执行updat ...

  3. windows下mysql 自定义函数 之http 实操

    有没有遇到这种场景呢,当使用mysql做复杂字符串处理的时候总感觉mysql内置的函数不够用呢.比如做字符串切割,解析xml等.而这个时候你恰恰对编写mysql函数或者存储过程缺乏一定的经验积累.而你 ...

  4. hbase查询语句_Sqoop实操|Sqoop导入Parquet文件Hive查询为null问题

    作者:余枫 1 问题重现 1.在MySQL中建表,一个bigint字段,二个varchar字段 2.在Hive中建Parquet表 create table test(s1 string commen ...

  5. 列表2:查询复制函数实操

    目录 s.index(x[, start[, end]]) s.count(x) s.copy() s.index(x[, start[, end]]) 返回 x 元素位于 s 列表的索引值(star ...

  6. SQL Server2014数据库开启远程连接(转载+实操)

    SQL Server2014数据库开启远程连接(转载) 源帖地址:点击我 用到的工具:sql server 2014+ windows Server 2008R 第一步就是把sql server 安装 ...

  7. 【数据分析】【MySQL】快速入门+案例+代码+命令整理+GIF实操演示

    1.SQL的语句顺序(理论) SELECT [ALL|DISTINCT] <目标表达式>.... FROM <表名或者视图名>.. [WHERE <条件表达式>] ...

  8. Linux入门笔记-尚硅谷韩顺平-基础篇实操篇

    文章目录 课程导论 基础篇 Linux入门 Linux介绍 Linux和Unix的关系 Linux和Windows比较 基础篇 Linux的目录结构 基本介绍 具体的目录结构 实操篇 vi和vim的使 ...

  9. MySql系列之mysql查询执行过程(附Mysql架构图及实操解析)

    一 MySql架构图 1.2 执行步骤: 1.客户端发送查询语句给服务器 2 服务器首先检查缓存中 是否存在该查询,若存在,返回缓存中存在的结果 不存在 执行下一步 3服务器进行sql解析 语法检测 ...

  10. mysql查询学生表的总人数,MySQL(表)-实操数据查询

    MySQL(表)-实操数据查询 MySQL(表)-实操:数据查询 练习1:成绩表筛选 创建成绩表(exam): CREATE TABLE exam( id INT PRIMARY KEY AUTO_I ...

最新文章

  1. jQuery 选择器语法
  2. 关于XML文档操作类
  3. LeetCode 15三数之和16最接近的三数之和
  4. 在虚拟中开启Windows 8.1的Hyper-V平台
  5. java源码编译为字节码的流程
  6. webpack初学笔记 之 小案例篇demo1
  7. linux单次任务调度,go任务调度2(linux的cron调用)
  8. 666表情包的c语言程序设计教程课后答案,C语言设计题
  9. 【四】Java流程控制
  10. android 智能家居 pdf,智能家居项目化教程.pdf
  11. 解决.bashrc文件每次打开终端都需要source的问题
  12. util包的简单介绍
  13. mac docker nginx 配置
  14. 基于Java内置的HttpServer实现轻量级Restful
  15. Loadrunner:管理员权限启动报错“win10为了对电脑进行保护,已经阻止此应用”
  16. 手把手教学,详细的外挂制作教程视频
  17. mysql ignore用法_MySQL中的insert ignore into, replace into等的一些用法总结
  18. 旷厂练习生 Vol.16 | 两次进入研究院里的“研究院”实习是种什么体验?
  19. Android+如何导出微信照片,【每天3分钟】微信占了好多G,教你一步批量提取微信照片并清理空间...
  20. ,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microso ft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies

热门文章

  1. EPROCESS+KPCR+ETHREAD部分介绍-学习记录
  2. 华为路由器显示网络未连接到服务器,华为路由器Q1连接没有网络该怎么办?
  3. USB接口EMC设计方案
  4. SAP修改消息内容和报错类型(OBA5,SE91)
  5. 最全总结图论在识别人脑网络连通性模式中的应用——相关与相关性,主成分分析,聚类分析,互信息,格兰杰因果分析,动态因果模型,贝叶斯网络,转移熵
  6. 冯建文《数字电路设计》读书笔记
  7. 看过1000份算法简历,才明白人工智能、机器学习、深度学习!!!
  8. win7系统IE11管理加载项里面没有Shockwave Flash Object的解决方法
  9. linux centos无法进入系统,centos无法进入桌面系统
  10. 【NOIP 2002】字串变换