iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库——复杂查询(二)
  • 483
分享到

MySQL数据库——复杂查询(二)

数据库mysql 2023-10-28 10:10:04 483人浏览 八月长安
摘要

目录 第1关 查询学生平均分 一、本关任务:根据提供的表和数据,查询平均成绩小于60分的同学的学生编号(s_id)、学生姓名(s_name)和平均成绩(avg_score),要求平均成绩保留2位小数点。(注意:包括有成绩的和无成绩的) 二、

目录

第1关 查询学生平均分

一、本关任务:根据提供的表和数据,查询平均成绩小于60分的同学的学生编号(s_id)、学生姓名(s_name)和平均成绩(avg_score),要求平均成绩保留2位小数点。(注意:包括有成绩的和无成绩的)

二、编程要求

三、预期输出:

 四、代码

第2关 查询修课相同学生信息

一、本关任务:根据提供的表和数据,查询与s_id=01号同学学习的课程完全相同的其他同学的信息(学号s_id,姓名s_name,性别s_sex)。

二、编程要求

三、预期输出:

 四、代码

第3关 查询各科成绩并排序

一、本关任务:根据提供的表和数据,查询各科成绩,进行排序并显示排名,按学生编号(s_id)、课程编号(c_id)、学生成绩(s_score)和排名(rank)进行输出,具体效果请查看测试集。

二、编程要求

三、代码

第4关 查询张老师课程成绩最高的学生信息

一、本关任务:根据提供的表和数据,查询选修“张三”老师所授课程的学生中,成绩最高的学生信息(具体输出信息请查看测试说明)及其成绩。

二、编程要求

三、预期输出:

 四、代码

第5关 查询两门课程不及格同学信息 

一、本关任务:根据提供的表和数据,查询两门及其以上不及格课程的同学的学号(s_id)、姓名(s_name)及其平均成绩(avg_score),要求计算平均成绩后为整数。

二、编程要求

三、预期输出:

 四、代码


第1关 查询学生平均分

一、本关任务:根据提供的表和数据,查询平均成绩小于60分的同学的学生编号(s_id)、学生姓名(s_name)和平均成绩(avg_score),要求平均成绩保留2位小数点。(注意:包括有成绩的和无成绩的)

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五

score表部分数据:

s_idc_ids_score
010180
010290
010399
020170
.........

二、编程要求

根据提示,在Begin - End区域内进行代码补充。

三、预期输出:

  1. +------+--------+-----------+
  2. | s_id | s_name | avg_score |
  3. +------+--------+-----------+
  4. | 04  | Lucas | 33.33   |
  5. | 06  | Caden | 32.50   |
  6. | 08  | Jacob | 0.00    |
  7. +------+--------+-----------+

 四、代码

########## Begin ##########select b.s_id,b.s_name,ROUND(AVG(a.s_score),2)as avg_score from student b inner join score a on b.s_id = a.s_idGROUP BY b.s_id,b.s_name HAVING avg_score <60uNIOnselect a.s_id,a.s_name,0 as avg_score from student a where a.s_id not in (select distinct s_id from score);########## End ##########

第2关 查询修课相同学生信息

一、本关任务:根据提供的表和数据,查询与s_id=01号同学学习的课程完全相同的其他同学的信息(学号s_id,姓名s_name,性别s_sex)。

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五

score表部分数据:

s_idc_ids_score
010180
010290
010399
020170
.........

二、编程要求

根据提示,在Begin - End区域内进行代码补充。

三、预期输出:

  1. +------+--------+-------+
  2. | s_id | s_name | s_sex |
  3. +------+--------+-------+
  4. | 02  | Riley | 男  |
  5. | 03  | Aria  | 女  |
  6. | 04  | Lucas | 女  |
  7. +------+--------+-------+

 四、代码

########## Begin ##########select * from studentwhere s_id in ("02","03","04");########## End ##########

第3关 查询各科成绩并排序

一、本关任务:根据提供的表和数据,查询各科成绩,进行排序并显示排名,按学生编号(s_id)、课程编号(c_id)、学生成绩(s_score)和排名(rank)进行输出,具体效果请查看测试集。

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五

score表部分数据:

s_idc_ids_score
010180
010290
010399
020170
.........

二、编程要求

根据提示,在Begin - End区域内进行代码补充。

三、代码

########## Begin ##########select a.s_id,a.c_id,a.s_score,count(b.s_score)+1 rank from score a left join score bon a.c_id = b.c_id and a.s_score 

第4关 查询张老师课程成绩最高的学生信息

一、本关任务:根据提供的表和数据,查询选修“张三”老师所授课程的学生中,成绩最高的学生信息(具体输出信息请查看测试说明)及其成绩。

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五

score表部分数据:

s_idc_ids_score
010180
010290
010399
020170
.........

二、编程要求

根据提示,在Begin - End区域内进行代码补充。

三、预期输出:

  1. +------+--------+-------+---------+------+--------+
  2. | s_id | s_name | s_sex | s_score | c_id | c_name |
  3. +------+--------+-------+---------+------+--------+
  4. | 01  | Mia   | 女  | 90   | 02   | Math |
  5. +------+--------+-------+---------+------+--------+

 四、代码

########## Begin ##########select a.*,b.s_score,b.c_id,c.c_name from student a INNER JOIN score b ON a.s_id = b.s_idINNER JOIN course c ON b.c_id=c.c_idwhere b.c_id=(select c_id from course c,teacher d where c.t_id=d.t_id and d.t_name='张三')and b.s_score in (select MAX(s_score)from score where c_id='02');########## End ##########

第5关 查询两门课程不及格同学信息 

一、本关任务:根据提供的表和数据,查询两门及其以上不及格课程的同学的学号(s_id)、姓名(s_name)及其平均成绩(avg_score),要求计算平均成绩后为整数。

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五

score表部分数据:

s_idc_ids_score
010180
010290
010399
020170
.........

二、编程要求

根据提示,在Begin - End区域内进行代码补充。

三、预期输出:

  1. +------+--------+-----------+
  2. | s_id | s_name | avg_score |
  3. +------+--------+-----------+
  4. | 04  | Lucas  | 33    |
  5. | 06  | Caden  | 33    |
  6. +------+--------+-----------+

 四、代码

########## Begin ##########select a.s_id,a.s_name,ROUND(AVG(b.s_score))avg_score from student aiNNER JOIN score b ON a.s_id=b.s_idwhere a.s_id in (select s_id from score where s_score<60GROUP BY s_id having count(*)>=2)GROUP BY a.s_id,a.s_name;########## End ##########

来源地址:https://blog.csdn.net/weixin_51970555/article/details/124548702

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库——复杂查询(二)

本文链接: https://www.lsjlt.com/news/520193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库——复杂查询(二)
    目录 第1关 查询学生平均分 一、本关任务:根据提供的表和数据,查询平均成绩小于60分的同学的学生编号(s_id)、学生姓名(s_name)和平均成绩(avg_score),要求平均成绩保留2位小数点。(注意:包括有成绩的和无成绩的) 二、...
    99+
    2023-10-28
    数据库 mysql
  • Mysql 复杂查询丨联表查询
    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! JOIN(联表查询) 联表查询(Join)是一种在数据库中使用多个表进行关联查询的操...
    99+
    2023-08-16
    mysql 数据库
  • [MySQL]复杂查询(进阶)
    专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表...
    99+
    2023-09-09
    数据库 sql mysql
  • 数据库查询优化实战:应对复杂查询的秘诀
    1. 索引优化 创建索引以加快查询速度,特别是对于经常使用的搜索列。 考虑复合索引以支持组合查询。 根据数据分布和查询模式选择合适的索引类型(B-树、哈希等)。 2. 查询优化 使用 EXPLAIN 命令分析查询计划,识别低效操作。...
    99+
    2024-04-02
  • java动态构建数据库复杂查询教程
    有的时候,你需要动态构建一个比较复杂的查询条件,传入数据库中进行查询。而条件本身可能来自前端请求或者配置文件。那么这个时候,表达式树,就可以帮助到你。 Where当中可以传...
    99+
    2024-04-02
  • 教你使用SQL语句进行数据库复杂查询
    目录前言前言 本篇可当做例题练习, 1.查询比”林红”年纪大的男学生信息语句: select * from Student where Sex='男' and year(B...
    99+
    2023-01-05
    sql复杂查询语句 sql复杂查询 sql数据库查询 sql查询语句
  • 「MySQL」- 复杂的SQL查询语句
    任意门 前言 聚合查询 1.聚合函数 count函数 sum函数 avg函数 max函数 min函数 2.分组查询 having子句 多表查询 1.笛卡尔积 2.内连接 3.外连接 左外连接 右外连接 自链接 子查询 合并查询 ...
    99+
    2023-09-07
    数据库 mysql database sql
  • MySQL之复杂查询的实现
    目录1.排序2.分组3.联合查询4.多表连接1.排序 ORDER BY 子句来设定哪个字段哪种方式来进行排序,再返回搜索结果。desc:降序 select * from b...
    99+
    2024-04-02
  • MySQL-查询数据库(一)
    有志者,事竟成 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。 ...
    99+
    2023-09-07
    mysql java 数据库
  • 深入探索数据库MySQL性能优化与复杂查询相关操作
    目录索引的优化查询的优化数据库的优化数据库mysql 是一种开源的关系型数据库管理系统,被广泛用于各种不同规模的应用程序中。在进行 MySQL 数据库开发过程中,需要深入了解如何进行性能优化和复杂查询,以提高系统的效率和...
    99+
    2023-04-24
    MySQL性能优化 MySQL复杂查询
  • MySQL数据库复合查询操作实战
    目录1.基本查询回顾2.多表查询 (重要)3.自连接4.子查询1)单行子查询 (子查询的结果是单行)(2)多行子查询(3)多列子查询5.合并查询总结:1.基本查询回顾 准备工作,创建一个雇员信息表:(来自oracle 9...
    99+
    2023-05-12
    mysql复合查询语句 mysql复合语句 sql复合查询语句
  • Mysql数据库时间查询
    1、查询当前时间  年月日时分秒 select now();   2、查询当前时间 前三小时 的时间点 select subdate(now(),interval 3 hour);   3、查询当前时间  前三天 的时间点 select...
    99+
    2023-09-10
    java sql 开发语言
  • 【MySQL数据库】- 多表查询
    🍁博客主页:👉@不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉MySQL数据库专栏 ✨欢迎加入社区: 👉不会压弯的小...
    99+
    2023-08-17
    数据库 mysql sql
  • MySQL查询语句之复杂查询的示例分析
    这篇文章主要介绍MySQL查询语句之复杂查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有...
    99+
    2024-04-02
  • 如何通过索引优化PHP与MySQL的复杂查询和大数据量查询?
    引言:随着互联网的快速发展,数据量的爆炸式增长成为了一个普遍的问题。对于使用PHP和MySQL进行复杂查询和处理大数据量的项目来说,索引优化是提高查询性能和响应时间的重要手段之一。本文将介绍几种常见的索引优化技巧,以及详细的代码示例。一、了...
    99+
    2023-10-21
    MySQL PHP 索引优化
  • mysql数据库怎么查询数据的
    在 mysql 中查询数据,可以使用 select 语句,语法:select 列名from 表名where 条件;可选参数包括 distinct(去除重复记录)、li...
    99+
    2024-04-22
    mysql
  • 数据库之MySQL查询去重数据
    最近遇到了一个问题,当时我的第一反应是导出来,用wps的Excel表格的删除重复项的功能,简单粗暴又直接,但是没有考虑到数据量太大的情况,会导致Excel打开缓慢。这个时候就考虑有没有更方便快捷的方法,网上也查询了很多方法,但是实践出真知,...
    99+
    2023-09-03
    数据库
  • MySQL数据库——MySQL LIKE:模糊查询
    在 MySQL 中,LIKE 关键字主要用于搜索匹配字段中的指定内容。其语法格式如下: [NOT] LIKE  '字符串' 其中: NOT :可选参数,字段中的内容与指定的字符串不匹配时满足条件。字符串:指定用来匹配的字符串。“字符串...
    99+
    2023-10-19
    数据库 mysql java
  • MySQL数据库查询之多表查询总结
    目录多表关系表与表之间的联系:一对多(多对一)多对多一对一多表查询多表查询的分类1.连接查询:2.子查询内连接外连接自连接联合查询子查询标量子查询列子查询行子查询表子查询多表查询案例...
    99+
    2022-11-13
    mysql多表查询语句 mysql多表连接查询方式 mysql多表查询面试题
  • 查询数据(数据库)——简单查询
    目录 1.最简单的查询 (1)查询指定列 (2)查询所有列 (3)查询计算列 (4)为列起别名 (5)使用DISTINCT关键字消除重复元组 2.查询满足条件的元组 (1) 比较大小 (2) 确定范围 (3) 确定集合 (4) 字符匹配 (...
    99+
    2023-10-11
    数据库 sql mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作