mysql——面试题初体验

news2024/11/26 4:54:46

查询环境

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.coloradmin.cn/o/1097404.html

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

相关文章

JWT的无限可能性:它如何在身份验证、单点登录、API安全等领域发挥作用

整理下工作中常用到的加密解密算法 和 使用场景 一、Base64和UrlBase64 二、Md5 salt 二、对称加密 四、非对称加密 这节整理 MD5、MD5salt基本介绍、使用场景及特点&#xff0c;以及java实现机制&#xff08;文末附代码&#xff0c;需要的自取哈&#xff09; 二、Md5 salt …

2023_Spark_实验十七:导入招聘大数据(项目)

一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…

【无标题】markdow 模板

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

Springboot项目中加载Groovy脚本并调用其内部方代码实现

前言 项目中部署到多个煤矿的上&#xff0c;每一种煤矿的情况都相同&#xff0c;涉及到支架的算法得写好几套&#xff0c;于是想到用脚本实现差异变化多的算法&#xff01;一开始想到用java调用js脚本去实现&#xff0c;因为这个不需要引入格外的包&#xff0c;js对我来说也没…

【Java基础面试一】、为什么Java代码可以实现一次编写、到处运行?

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

uniapp(uncloud) 使用生态开发接口详情(1简单的创建)

开发接口对比时间: 用java开发接口周期太长, 大概5-6个月左右 用php 开发接口周期同样太长, 大概3-4个月左右 用node.js 开发接口周期相对短一点, 大概1-2个月左右 用uniapp 开发接口, 可以不到 1-2周的时间 这里我使用 uniapp 开发接口, 废话不多说了,直接开干 HBuilder官网(…

头像Css

现有如下的图标&#xff0c;他这外层的白色圆圈是border,你敢信 .top-bar__img {margin: 0 8px 0 5px;padding: 2px;width: 30px;height: 30px;border-radius: 100%;box-sizing: border-box;border: 1px solid #eee;vertical-align: middle; }

《软件方法》2023版第1章(08)使用UML的理由,挑破乱七八糟图的脓包

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 1.3 UML 1.3.2 使用UML的理由 在开发团队中&#xff0c;不乏刻意排斥UML的人。这些人如果只是不使用UML&#xff0c;改为使用其他标准的图形表示法&#xff08;如BPMN&#xff09;&a…

城市综合管廊运维的系统集成方案

摘 要&#xff1a;从网络拓扑结构、开放式实时以太网协议、控制层系统配置方面介绍了综合管廊的系统网络架构设计&#xff0c;分析了无线网络特性&#xff0c;阐述了基于HTML5架构所能实现的功能的初步构想&#xff0c;以便于综合管廊运维人员巡检&#xff0c;确保管廊本体安全…

NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程(超详细)

NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程 文章目录 NodeMCU ESP8266 基于Arduino IDE的串口图形化调试教程前言Serial Plotter测试前期准备打开工具方法 1方法 2 测试代码 总结 前言 在嵌入式的开发过程中&#xff0c;我们经常会采集一些传感器的数据&#xff0c…

MVCC与BufferPool缓存机制

MVCC多版本并发控制机制 Mysql在可重复读隔离级别下如何保证事务较高的隔离性&#xff0c;我们上节课给大家演示过&#xff0c;同样的sql查询语句在一个事务里多次执行查询结果相同&#xff0c;就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是…

游戏开发年度报告 | 2023年游戏开发团队最流行的制作和发行的方式

近期&#xff0c;Perforce发布了《2023游戏开发与设计现状报告》。此报告调查了来自全球各地的游戏开发专业人士&#xff0c;了解他们面临的主要开发挑战、使用的工具和流程&#xff0c;以及目前最让他们对这个行业感到兴奋的方面。 龙智作为Perforce授权合作伙伴&#xff0c;将…

wifi指纹室内定位系统 计算机竞赛

简介 今天来介绍一下室内定位相关的原理以及实现方法; WIFI全称WirelessFidelity&#xff0c;在中文里又称作“行动热点”&#xff0c;是Wi-Fi联盟制造商的商标做为产品的品牌认证&#xff0c;是一个创建于IEEE 802.11标准的无线局域网技术。基于两套系统的密切相关&#xff…

MBR10100CT-ASEMI肖特基二极管MBR10100CT

编辑&#xff1a;ll MBR10100CT-ASEMI肖特基二极管MBR10100CT 型号&#xff1a;MBR10100CT 品牌&#xff1a;ASEMI 芯片个数&#xff1a;2 封装&#xff1a;TO-220 恢复时间&#xff1a;&#xff1e;50ns 工作温度&#xff1a;-65C~175C 浪涌电流&#xff1a;150A 正向…

【微前端】single-spa 到底是个什么鬼

前言 说起微前端框架&#xff0c;很多人第一反应就是 single-spa。但是再问深入一点&#xff1a;它是干嘛的&#xff0c;它有什么用&#xff0c;可能就回答不出来了。 一方面没多少人研究和使用微前端。可能还没来得及用微前端扩展项目&#xff0c;公司就已经倒闭了。 另一方…

关于京东API数据接口业务的详细介绍

参数说明 通用参数说明 url说明 https://…….cn/平台/API类型/ 平台&#xff1a;淘宝&#xff0c;京东等&#xff0c; API类型:[item_search,item_get,item_search_shop等]version:API版本key:调用key,测试key:test_api_keysecret:调用secret,测试secret:(不用填写)cache:[ye…

长沙上市公司董秘联谊会,来啦!

上市公司的数量&#xff0c;是判断一座城市经济实力的重要指标。 在当前复杂的竞争环境中&#xff0c;提升上市公司的数量和质量&#xff0c;以产业思维促进城市内外的上市公司合作交流&#xff0c;是城市提升经济综合实力的有效举措。 10月13日&#xff0c;在由长沙市委统战…

2023年中国电信运营商IT支撑系统市场规模及销量、均价分析[图]

电信运营商IT支撑系统能够为最终用户管理服务&#xff0c;并且管理与底层网络功能有关的服务――涵盖跨众多网络的服务设计、履行和保证&#xff0c;针对各个客户群。电信运营商IT支撑系统有助于跨不同类型的网络&#xff08;包括物理网络、虚拟网络和混合网络&#xff09;交付…

代理现货白银有什么手续

成为现货白银代理商的好处有很多&#xff0c;一方面打理依然可以像普通投资者那样&#xff0c;采用平台的交易服务&#xff0c;直接在市场上通过交易&#xff0c;赚取高杠杆所带来的高回报&#xff0c;另一方面还可以根据自己客户的交易量&#xff0c;从平台获得一定的返佣&…

Linux下企业级夜莺监控分析工具的远程访问设置【内网穿透】

文章目录 前言1. Linux 部署Nightingale2. 本地访问测试3. Linux 安装cpolar4. 配置Nightingale公网访问地址5. 公网远程访问Nightingale管理界面6. 固定Nightingale公网地址 前言 夜莺监控是一款开源云原生观测分析工具&#xff0c;采用 All-in-One 的设计理念&#xff0c;集…