mysql——面试题初体验

查询环境

1、student(学生表)

2、课程表(course)

3、教师表(teacher)

4、成绩表(score)

问题

(1) 查询所有学生的学号、姓名、选课数、总成绩

mysql> select s.s_id as 学号,s.s_name as 姓名 from student as s;

+--------+--------+
| 学号   | 姓名   |
+--------+--------+
|      1 | 张三   |
|      2 | 张三   |
|      3 | 张四   |
|      4 | 张五   |
+--------+--------+
4 rows in set (0.00 sec)

mysql> select sc.s_id,sum(s_score) as scoresum ,count(c_id) as coursenumber from score as sc group by sc.s_id;

+------+----------+--------------+
| s_id | scoresum | coursenumber |
+------+----------+--------------+
|    1 |      141 |            3 |
|    2 |      112 |            3 |
|    3 |      217 |            3 |
|    4 |      151 |            3 |
+------+----------+--------------+
4 rows in set (0.00 sec)

把上面的两个表再关联查询

mysql> select s.s_id as 学号,s.s_name as 姓名,d.scoresum as 总成绩,d.coursenumber as 选课数 from student as s,
    -> (select sc.s_id,sum(s_score) as scoresum ,count(c_id) as coursenumber from score as sc group by sc.s_id) as d
    -> where s.s_id=d.s_id;


+--------+--------+-----------+-----------+
| 学号   | 姓名   |   总成绩 | 选课数    |
+--------+--------+-----------+-----------+
|      1 | 张三   |       141 |         3 |
|      2 | 张三   |       112 |         3 |
|      3 | 张四   |       217 |         3 |
|      4 | 张五   |       151 |         3 |
+--------+--------+-----------+-----------+
4 rows in set (0.00 sec)


(2) 查询学过“数学”老师所教的所有课的同学的学号、姓名

mysql> select s_id, s_name from student where s_id in (select s_id from score where c_id in (select c_id from course where t_id = (select t_id from teacher where t_name = "数学老师")));

+------+--------+
| s_id | s_name |
+------+--------+
|    1 | 张三   |
|    3 | 张四   |
|    2 | 张三   |
|    4 | 张五   |
+------+--------+
4 rows in set (0.00 sec)


(3) 查询和“1”号的同学学习的课程完全相同的其他同学学号和姓名

①从成绩表查询1号选的课

mysql> select score.c_id from score
    -> where score.s_id=1;

+------+
| c_id |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)

②从成绩表查询所有同学的s_id

mysql> select sc.s_id from score as sc
    -> where sc.c_id in(
    -> select score.c_id from score
    -> where score.s_id=1);

+------+
| s_id |
+------+
|    1 |
|    3 |
|    2 |
|    4 |
|    2 |
|    3 |
|    1 |
|    4 |
|    4 |
|    3 |
|    2 |
|    1 |
+------+

12 rows in set (0.00 sec)

③从student表查询所有学生信息

mysql> select * from student
    -> where student.s_id in
    -> (select sc.s_id from score as sc
    -> where sc.c_id in(
    -> select score.c_id from score
    -> where score.s_id=1)
    -> );

+------+--------+---------+-------+
| s_id | s_name | s_birth | s_sex |
+------+--------+---------+-------+
|    1 | 张三   |      10 | 男    |
|    2 | 张三   |      11 | 男    |
|    3 | 张四   |       1 | 男    |
|    4 | 张五   |      12 | 女    |
+------+--------+---------+-------+
4 rows in set (0.00 sec)

第③次就查询到了和“1”号的同学学习的课程完全相同的其他同学学号和姓名

(4)按平均成绩从高到低显示所有学生的“数学”(c_id=1)、“语文”(c_id=2) 、英语”(c_id=3)三门的课程成绩,按如下形式显示:学生ID,数学,语文,英语,有效课程数,有效平均分

①查询有效平均分

mysql> select s_id as 学号,avg(s_score) as 有效平均分 from score group by s_id order by 有效平均分 desc;

+--------+-----------------+
| 学号   | 有效平均分      |
+--------+-----------------+
|      3 |         72.3333 |
|      4 |         50.3333 |
|      1 |         47.0000 |
|      2 |         37.3333 |
+--------+-----------------+
4 rows in set (0.00 sec)

以下为参考案例

mysql> select *  from score
    -> left join(
    -> select s_id,avg(s_score) as avscore from score
    -> group by s_id
    -> )as d
    -> on score.s_id=d.s_id
    -> order by avscore desc;


+------+------+---------+------+---------+
| s_id | c_id | s_score | s_id | avscore |
+------+------+---------+------+---------+
|    3 |    3 |      88 |    3 | 72.3333 |
|    3 |    2 |      65 |    3 | 72.3333 |
|    3 |    1 |      64 |    3 | 72.3333 |
|    4 |    1 |      78 |    4 | 50.3333 |
|    4 |    2 |      65 |    4 | 50.3333 |
|    4 |    3 |       8 |    4 | 50.3333 |
|    1 |    1 |      24 |    1 | 47.0000 |
|    1 |    3 |      91 |    1 | 47.0000 |
|    1 |    2 |      26 |    1 | 47.0000 |
|    2 |    2 |      25 |    2 | 37.3333 |
|    2 |    3 |       9 |    2 | 37.3333 |
|    2 |    1 |      78 |    2 | 37.3333 |
+------+------+---------+------+---------+
12 rows in set (0.00 sec)
 


(5) 使用分段[100-85],[85-70],[70-60],[<60]来统计各科成绩,分别统计各分数段人数:课程ID和课程名称

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/108647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对称(镜像)二叉树

之前写的比较两棵树是否相等&#xff0c;是左子树和左子树比&#xff0c;右子树和右子树比——利用这个思想镜像二叉树就是从第二层的两个节点作为两棵树的根&#xff0c;然后比较&#xff0c;这里的比较是左子树和右子树比&#xff0c;右子树和左子树比 ——也就是利用比较两个…

解决 MyBatis 一对多查询中,出现每组元素只有一个,总组数与元素数总数相等的问题

文章目录 问题简述场景描述问题描述问题原因解决办法 问题简述 笔者在使用 MyBatis 进行一对多查询的时候遇到一个奇怪的问题。对于笔者的一对多的查询结果&#xff0c;出现了这样的一个现象&#xff1a;原来每个组里有多个元素&#xff0c;查询目标是查询所查的组&#xff0c;…

搭建Atlas2.2.0 集成CDH6.3.2 生产环境+kerberos

首先确保环境的干净&#xff0c;如果之前有安装过清理掉相关残留 确保安装atlas的服务器有足够的内存&#xff08;至少16G&#xff09;&#xff0c;有必要的hadoop角色 HDFS客户端 — 检索和更新Hadoop使用的用户组信息&#xff08;UGI&#xff09;中帐户成员资格的信息。对调…

Day2力扣打卡

打卡记录 无限数组的最短子数组&#xff08;滑动窗口&#xff09; 链接 思路&#xff1a;先求单个数组的总和&#xff0c;再对两个重复数组所组成的新数组上使用 不定长的滑动窗口 来求得满足目标的最小长度。 class Solution { public:int minSizeSubarray(vector<int>…

项目经理每天,每周,每月的工作清单

很多不懂项目管理的伙伴问&#xff0c;项目经理每天每周每个月的工作是什么呢&#xff1f; 仿佛他们什么都管&#xff0c;但是又没有具体的产出&#xff0c;但是每天看他们比谁都忙&#xff0c;其实很简单&#xff0c;项目中的每个环节负责具体的事情&#xff0c;但是每个环节…

Python---if选择判断结构、嵌套结构(if elif else)

1、if选择判断结构作用 if 英 /ɪf/ conj. &#xff08;表条件&#xff09;如果&#xff1b;&#xff08;表假设&#xff09;要是&#xff0c;假如&#xff1b;无论何时&#xff1b;虽然&#xff0c;即使&#xff1b;&#xff08;用于间接疑问&#xff09;是否&#xff1b…

uniapp-vue3-微信小程序-标签选择器wo-tag

采用uniapp-vue3实现, 是一款支持高度自定义的标签选择器组件&#xff0c;支持H5、微信小程序&#xff08;其他小程序未测试过&#xff0c;可自行尝试&#xff09; 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id14960 使用示例 <template>&…

System.exit()方法参数

说明文档&#xff1a;System (Java Platform SE 8 ) 终止当前正在运行的Java虚拟机。该参数用作状态代码&#xff1b;按照惯例&#xff0c;非零状态码表示异常终止。 此方法调用类Runtime中的exit方法。此方法从不正常返回。 调用System.exit&#xff08;n&#xff09;实际上等…

Android MediaCodec将h264实时视频流数据解码为yuv,并转换yuv的颜色格式为nv21

初始化mediacodec //宽高根据摄像头分辨率设置private int Width 1280;private int Height 720;private MediaCodec mediaCodec;private ByteBuffer[] inputBuffers;private void initMediaCodec(Surface surface) {try {Log.d(TAG, "onGetNetVideoData: ");//创建…

牛客:FZ12 牛牛的顺时针遍历

FZ12 牛牛的顺时针遍历 文章目录 FZ12 牛牛的顺时针遍历题目描述题解思路题解代码 题目描述 题解思路 通过一个变量来记录当前方向&#xff0c;遍历矩阵&#xff0c;每次遍历一条边&#xff0c;将该边的信息加入到结果中 题解代码 func spiralOrder(matrix [][]int) []int {…

Docker安装ES7.14和Kibana7.14(无账号密码)

一、Docker安装ES7.14.0 1、下载镜像 docker pull elasticsearch:7.14.0 2、docker安装7.14.0 mkdir -p /usr/local/elasticsearch/config mkdir -p /usr/local/elasticsearch/data chmod 777 -R /usr/local/elasticsearch/ echo "http.host: 0.0.0.0" >> /u…

IDEA中点击New没有Java Class

解决办法&#xff1a;右键src&#xff0c;也可以是其他文件名&#xff0c;点击Mark Directory as 点击Sources Root即可

【Java 进阶篇】JavaScript DOM Element 对象详解

JavaScript是一门广泛用于网页开发的脚本语言&#xff0c;而DOM&#xff08;文档对象模型&#xff09;是JavaScript在网页中操作HTML和XML文档的核心。DOM以树状结构表示文档&#xff0c;允许开发者以编程方式访问、操作和修改文档的内容和结构。在DOM中&#xff0c;Element对象…

海洋CMS仿爱美剧影视电影视频网站模版源码/自适应手机端

海洋CMS仿爱美剧网站模板&#xff0c;自适应手机端&#xff0c;内含视频、资讯、留言模块。 下载地址&#xff1a;https://bbs.csdn.net/topics/617419787

Postman简单使用

文章目录 一.接口测试流程二、Postman接口测试工具三、接口关联四、全局变量和环境变量 一.接口测试流程 拿到API接口文档&#xff08;从开发拿或者抓包获取&#xff09;&#xff0c;熟悉接口业务&#xff0c;接口地址&#xff0c;错误码等等 编写接口的测试用例以及评审 编写…

docker中使用GPU+rocksdb

配置环境 delldell-Precision-3630-Tower  ~  lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focaldelldell-Precision-3630-Tower  ~  nvcc --version nvcc: NVIDIA (R) Cuda comp…

【数据结构】排序--快速排序

目录 一 概念 二 快速排序的实现 1. hoare版本 (1)代码实现 (2)单趟排序图解 (3) 递归实现图解 (4)细节控制 (5)时间复杂度 (6)三数取中优化 2 挖坑法 (1)代码实现 (2)单趟图解 3 前后指针法 (1) 代码实现 (2) 单趟图解 ​编辑4 优化子区间 5 非递归快速排…

FPGA project : flash_write

本实验重点学习了&#xff1a; flash的页编程指令pp。 在写之前要先进行擦除&#xff08;全擦除和页擦除&#xff09;&#xff1b; 本实验&#xff1a;先传写指令&#xff0c;然后进入写锁存周期&#xff0c;然后传页编程指令&#xff0c;3个地址&#xff1b; 然后传数据&a…

【Java基础面试十五】、 说一说你对多态的理解

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;说一说你对多态的理解 …

常见6种易被忽略的软件隐藏缺陷

软件隐藏缺陷常常会被测试人员忽略或遗漏&#xff0c;其往往会对项目的成功和用户体验产生不可忽视的负面影响&#xff0c;易造成软件数据泄露、系统崩溃或安全问题等&#xff0c;直接影响系统稳定性和用户满意度。 因此我们需要高度重视软件的隐藏缺陷&#xff0c;重视全面的软…