MySQL多表查询面试题一

其中分析题意,学生表student是与成绩表score关联,课程表course与教师表teacher关联,由此可以先确定关联关系,学生表为s,课程表为c,教师表为t,成绩表为o。s.s_id=o.s_id,c.t_id=t.t_id

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

学生表与成绩表关联,通过成绩来确认选课数

select s.s_id 学号,s.s_name 姓名,count(s_score) 选课数,sum(s_score) 总成绩 from score o inner join student s on o.s_id = s.s_id group by s.s_id; 


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

运用子查询来查询从学生的学号查到科目中有相同学号后再通过课程编码去找教师编码最后找到张三

select  s.s_id,s.s_name from student where s_id in(select o.s_id from score,course,teacher where o.c_id= c.c_id and c.t_id=t.t_id and t.t_name='张三');


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

运用子查询先在成绩表中找到学号为02的课程编码过滤出每个人的课程,再对02学习的课程编码通过having进一步过滤后与其他人学习的课程编码与02的比较是否相同来筛选出与02所学课程完全相同的学号姓名。

select s_id from score where c_id in(select c_id from score where s_id='02') group by s_id having count(*) = (select count(*) from score where s_id = '02');


(4)按平均成绩从高到低显示所有学生的“数据库”(c_id='04)、“企业管理”(c_id='01')、“英语”(c_id='06) 三门的课程成绩,按如下形式显示:学生ID,数据库,企业管理,英语,有效课程数,有效平均分

题目可得所有学生学习的课程内容有数据库c_id=04,企业管理c_id=01,英语c_id=06共三门,

select s_id as 学号,c_id='04' as 数据库,c_id='01' as 企业管理,c_id='06' as 英语,(select count(distinct o.c_id) from score o where s.s_id = o.s_id)as 有效课程数, (select avg(o.s_score) from score o where s.s_id=o.s_id ) as 有效平均分 order by 平均成绩 desc;


(5) 使用分段[100-85],[85-70],[70-60],[<60]来统计各科成绩,分别统计各分数段人数:课程ID和课程名称
select o.c_id as 课程ID,c_name as 课程名称,sum(case when s_score between 85 and 100 then 1 else 0 end) as '[100-85]',sum(case when s_score between 70 and 85 then 1 else 0 end) as'[85-70]',sum(case when s_score between 60 and 70 then 1 else 0 end) as '[70-60]',sum(case when s_score < 60 then 1 else 0 end) as '[<60]' from score,course where o.c_id = c.c_id group by o.c_id;

综上,如若有误欢迎指出

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

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

相关文章

【AI】深度学习——循环神经网络

神经元不仅接收其他神经元的信息&#xff0c;也能接收自身的信息。 循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;是一类具有短期记忆能力的神经网络&#xff0c;可以更方便地建模长时间间隔的相关性 常用的参数学习可以为BPTT。当输入序列比较…

【数字IC设计】DC自动添加门控时钟

简介 数字电路的动态功耗主要是由于寄存器翻转带来的&#xff0c;为了降低芯片内部功耗&#xff0c;门控时钟的方案应运而生。作为低功耗设计的一种方法&#xff0c;门控时钟是指在数据无效时将寄存器的时钟关闭&#xff0c;以此来降低动态功耗。 在下图中&#xff0c;展示了…

【自然语言处理】— 隐马尔可夫模型详解、例解

【自然语言处理】— 隐马尔可夫模型 【自然语言处理】— 隐马尔可夫模型引例隐马尔可夫模型概念隐马尔可夫模型的关键隐马尔可夫模型的数学表示隐含状态与观测结果状态转移矩阵观测概率矩阵初始状态概率向量 小结 【自然语言处理】— 隐马尔可夫模型 引例 假设有三种不同的骰…

17 - 并发容器的使用:识别不同场景下最优容器

在并发编程中&#xff0c;我们经常会用到容器。今天我要和你分享的话题就是&#xff1a;在不同场景下我们该如何选择最优容器。 1、并发场景下的 Map 容器 假设我们现在要给一个电商系统设计一个简单的统计商品销量 TOP 10 的功能。常规情况下&#xff0c;我们是用一个哈希表…

【UBOOT】1-使用与烧写

​一、uboot简介 1&#xff09;uboot是一个裸机程序&#xff0c;比较复杂 2&#xff09;最主要的作用是引导Linux内核启动&#xff1b; 初始化DDR&#xff1b; 因为Linux是运行在DDR里面的&#xff1b;而Linux镜像&#xff08;zImage或uImagedtb&#xff09;一般存放在SD EMM…

理解LoadRunner,基于此工具进行后端性能测试的详细过程(下)

5、录制并增强虚拟用户脚本 从整体角度看&#xff0c;用LoadRunner 开发虚拟用户脚本主要包括下面四步骤&#xff1a; 识别测试应用使用的协议 录制脚本 完善录制得到的脚本 验证脚本的正确性 识别被测应用使用的协议 如果明确知道了被测系统所采用的协议&#xff0c;可…

网卡介绍篇

目录 1.什么是网卡&#xff1f; 2.网卡的演进 3.网卡的主要功能 4.服务器网卡介绍 5.服务器网卡的分类 6.网卡接口介绍 7.业界网卡主流厂商 8.SmartNIC概念介绍 9.SmartNIC产业发展趋势 10.SmartNIC实现 10-1.实现形式 10-2.SmartNIC不同实现技术对比 11.Mellanox…

怎么把flac音频变为mp3?

怎么把flac音频变为mp3&#xff1f;FLAC音频格式在许多平台和应用程序中都得到支持和应用。FLAC音频格式被广泛支持和应用。许多平台、设备和应用程序都支持FLAC格式&#xff0c;如Windows、macOS和Linux操作系统、各种音乐播放器软件、智能手机和平板电脑、在线音乐平台和流媒…

python+django学生选课管理系统_wxjjv

1&#xff09;前台&#xff1a;首页、课程信息、校园论坛、校园公告、个人中心、后台管理。 &#xff08;2&#xff09;管理员&#xff1a;首页、个人中心、学生管理、教师管理课、程信息管理、课程分类管理、选课信息管理、作业信息管理、提交作业管理、学生成绩管理、校园论…

Linux常见的指令合集

Linux指令合集 认识linuxlinux基础指令1.pwd 命令2. ls 命令3.cd 命令4. man 命令5. grep 命令6. ps 命令7. kill 命令8. netstat 命令9. date 查看当前系统时间10. echo 打印选项 -e linux文件操作指令1. mkdir 命令2. rmdir 命令3. touch 命令4. rm 命令5. mv 命令6. cp 命令…

ImgPlus:基于CodeFormer的图片增强

背景 最近参与了华为云开发者大会AI赛道&#xff0c;做了一个AI图片增强作品&#xff0c;本片文章来简单介绍一下。 正文 作品名称&#xff1a;ImgPlus 赛题技术领域选择&#xff1a; AI&#xff0c;图片增强 使用技术名称&#xff1a; CodeFormer&#xff0c;ECS&#xff0…

Puppeteer结合测试工具jest使用(四)

Puppeteer结合测试工具jest使用&#xff08;四&#xff09; Puppeteer结合测试工具jest使用&#xff08;四&#xff09;一、简介二、与jest结合使用&#xff0c;集成到常规测试三、支持其他的几种四、总结 一、简介 Puppeteer是一个提供自动化控制Chrome或Chromium浏览器的Node…

session认证

目录 前言 http协议的无状态性 session的工作原理 在express中使用session认证 在session中存数据 在session中取数据 清空session 结尾 前言 session是一种记录客户状态的机制&#xff0c;客户端浏览器法访问服务器的时候&#xff0c;服务器把客户端信息以某种形式记录…

WLAN 无线案例(华为AC控制器配置模板)

实验说明&#xff1a; 无线用户VLAN 30 192.168.30.0/24 AP和AC用VLAN 20 192.168.20.0/24 有线网段 VLAN 10 192.168.10.0/24 步骤一&#xff1a;全网互通 sw1&#xff1a; sysname sw1 # vlan batch 10 20 30 # dhcp enable # ip pool 20 gateway-list 192.168.20.1…

JAVA学习(6)-全网最详细~

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

UDP与TCP协议

很抱歉&#xff0c;我之前写好的UDP与TCP文章不小心被删了&#xff0c;所以&#xff0c;这篇文章只有一半&#xff0c;后面我会尽快补全。 在完成HTTPS的学习后&#xff0c;我们就完成了应用层的所有讲解&#xff0c;下面我们开始讲解传输层&#xff0c;这一层常用的协议为TCP…

MySQL的index merge(索引合并)导致数据库死锁分析与解决方案 | 京东云技术团队

背景 在DBS-集群列表-更多-连接查询-死锁中&#xff0c;看到9月22日有数据库死锁日志&#xff0c;后排查发现是因为mysql的优化-index merge&#xff08;索引合并&#xff09;导致数据库死锁。 定义 index merge(索引合并)&#xff1a;该数据库查询优化的一种技术&#xff0…

JOSEF约瑟 漏电继电器 JD1-200 工作电压:380V 孔径:45mm 50~500mA

JD1系列漏电继电器 系列型号 JD1-100漏电继电器 JD1-200漏电继电器 JD1-250漏电继电器 JD1系列漏电继电器原为分体式固定式安装&#xff0c;为适应现行安装场合需要&#xff0c;上海约瑟继电器厂在产品原JD1一体式漏电继电器基础上进行产品升级&#xff0c;开发出现在较为…

从零开始学习调用百度地图网页API:二、初始化地图,鼠标交互创建信息窗口

目录 代码结构headbodyscript 调试 代码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name"viewport" content"initial-scale1.0, user-scalable…

黑马JVM总结(三十四)

&#xff08;1&#xff09;JMM概述 &#xff08;2&#xff09;JMM-原子性-synchronized java内存模型是如何保证原子性的呢&#xff0c;它是通过synchroized关键字&#xff0c;来达到这个目的的 第一个线程来了进入同步代码块之后&#xff0c;把这个对象加上锁了&#xff0c;…