当前位置: 首页 > news >正文

Mysql之子查询、连接查询(内外)以及分页查询

目录

一.案例(接上篇博客)

        09)查询学过「张三」老师授课的同学的信息

        10)查询没有学全所有课程的同学的信息

        11)查询没学过"张三"老师讲授的任一门课程的学生姓名

        12)查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

        13)检索" 01 "课程分数小于 60,按分数降序排列的学生信息

        14)按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

        15)查询各科成绩最高分、最低分和平均分:以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

二.思维导图


一.案例(接上篇博客)

        09)查询学过「张三」老师授课的同学的信息

SELECT
    s.*,
    c.cname,
    t.tname,
    sc.score 
FROM
    t_mysql_teacher t,
    t_mysql_course c,
    t_mysql_student s,
    t_mysql_score sc 
WHERE
    t.tid = c.tid 
    AND c.cid = sc.cid 
    AND sc.sid = s.sid 
    AND t.tname = '张三'

        10)查询没有学全所有课程的同学的信息

-- 没有学全
学全了有多少门:统计一共有多少门学科
统计每一个学生学了多少门

SELECT
    s.sid,
    s.sname,
    count( sc.score ) n 
FROM
    t_mysql_student s
    LEFT JOIN t_mysql_score sc ON s.sid = sc.sid 
GROUP BY
    s.sid,
    s.sname 
HAVING
    n < (SELECT count( 1 ) FROM t_mysql_course)

        11)查询没学过"张三"老师讲授的任一门课程的学生姓名

没学过: 子查询

SELECT
    s.sid,
    s.sname 
FROM
    t_mysql_score sc,
    t_mysql_student s 
WHERE
    s.sid = sc.sid 
    AND sc.cid NOT IN ( SELECT cid FROM t_mysql_course c, t_mysql_teacher t 
    WHERE c.tid = t.tid AND t.tname = '张三' ) 
GROUP BY
    s.sid,
    s.sname

        12)查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

SELECT
    s.sid,
    s.sname,
    AVG( sc.score ) n 
FROM
    t_mysql_student s,
    t_mysql_score sc 
WHERE
    s.sid = sc.sid 
    AND sc.score < 60 
GROUP BY
    s.sid,
    s.sname

        13)检索" 01 "课程分数小于 60,按分数降序排列的学生信息

SELECT
    s.*,
    sc.score 
FROM
    t_mysql_student s,
    t_mysql_score sc 
WHERE
    s.sid = sc.sid 
    AND sc.cid = '01' 
    AND sc.score < 60 
ORDER BY
    sc.score DESC

        14)按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩

平均 GROUP BY
从高到低 ORDER BY
所有学生的所有课程的成绩
姓名 语文 数学 英语 平均成绩

select
 s.sid,
 s.sname,
 sum(if(sc.cid = '01',sc.score,0)) 语文,
 sum(if(sc.cid = '02',sc.score,0)) 数学,
 sum(if(sc.cid = '03',sc.score,0)) 英语,
 ROUND(AVG(sc.score),2) 平均分
from
  t_mysql_score sc
RIGHT JOIN t_mysql_student s on sc.sid = s.sid
GROUP BY
    s.sid,
    s.sname

        15)查询各科成绩最高分、最低分和平均分:
以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

-- GROUP BY
-- 大量使用函数

SELECT
    c.cid,
    c.cname,
    count(sc.sid) 人数,
    max(sc.score) 最高分,
    min(sc.score) 最低分,
    ROUND(avg(sc.score),2) 平均分,
    CONCAT(ROUND(sum(if(sc.score >= 60,1,0))/(select count(1) from t_mysql_student)*100,2),'%') 及格率,
    CONCAT(ROUND(sum(if(sc.score >= 70 and sc.score < 80,1,0))/(select count(1) from t_mysql_student)*100,2),'%') 中等,
    CONCAT(ROUND(sum(if(sc.score >= 80 and sc.score < 90,1,0))/(select count(1) from t_mysql_student)*100,2),'%') 优良,
    CONCAT(ROUND(sum(if(sc.score >= 90,1,0))/(select count(1) from t_mysql_student)*100,2),'%') 优秀率
FROM
    t_mysql_score sc
    LEFT JOIN t_mysql_course c ON sc.cid = c.cid 
GROUP BY
    c.cid,
    c.cname

二.思维导图

相关文章:

Mysql之子查询、连接查询(内外)以及分页查询

目录 一.案例&#xff08;接上篇博客&#xff09; 09&#xff09;查询学过「张三」老师授课的同学的信息 10&#xff09;查询没有学全所有课程的同学的信息 11&#xff09;查询没学过"张三"老师讲授的任一门课程的学生姓名 12&#xff09;查询两门及其以上不及格课程…...

计算机的存储单位

在计算机中&#xff0c;只能识别二进制。 byte是1个字节&#xff0c;是8个比特位&#xff0c;所以byte可以存储的最大值是&#xff1a;01111111&#xff0c;byte是 [-128 ~ 127] 共可以标识256个不同的数字。 1字节 8bit&#xff08;8比特&#xff09;--> 1byte 8bit 类…...

设备树文件中的设备节点

一. 简介 前面几篇文章学习了 关于设备树文件的编译&#xff0c;设备树文件的调用。 本文开始学习 设备树文件的语法。具体学习设备节点与标准属性。 二. 设备树文件之设备节点与标准属性 1. 设备节点 设备树 是采用树形结构来描述板子上的设备信息的文件&#xff0c;每…...

文件管理工具.netcore资源文件管理

文件管理工具 怎么快速有效的管理我的文件包括文件夹&#xff0c;需求功能是 模糊搜索显示匹配的文件夹或文件数据 快速打开文件夹位置 在windows直接查看搜索速度太慢&#xff0c;范围宽泛&#xff0c;整理所需资源文件名和文件本机路径保存在数据库&#xff0c;可以在数据库中…...

go-carbon v2.3.4 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库&#xff0c;支持链式调用。 目前已被 awesome-go 收录&#xff0c;如果您觉得不错&#xff0c;请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装使用 Golang 版本大于…...

vue3 内置组件

文章目录 前言一、过渡效果相关的组件1、Transition2、TransitionGroup 二、状态缓存组件&#xff08;KeepAlive&#xff09;三、传送组件&#xff08;Teleport &#xff09;四、异步依赖处理组件&#xff08;Suspense&#xff09; 前言 在vue3中 其提供了5个内置组件 Transiti…...

MFC如何动态创建button按钮并添加点击事件

在MFC中&#xff0c;可以使用CButton类来动态创建按钮。下面是一个示例代码&#xff0c;演示了如何动态创建按钮并添加点击事件&#xff1a; 在对话框类的头文件中声明按钮变量&#xff1a; CButton m_btnDynamic;在对话框的OnInitDialog()函数中使用Create()函数创建按钮&am…...

Qt - QML框架

文章目录 1 . 前言2 . 框架生成3 . 框架解析3.1 qml.pro解析3.2 main.cpp解析3.3 main.qml解析 4 . 总结 【极客技术传送门】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 1 . 前言 什么是QML&#xff1f; QML是一种用户界面规范和编程语言。它允许开发人员…...

Python+Flask+MySQL的图书馆管理系统【附源码,运行简单】

PythonFlaskMySQL的图书馆管理系统【附源码&#xff0c;运行简单】 总览 1、《的图书馆管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 注册2.3 程序主页面2.4 图书新增界面2.5 图书信息修改界面2.6 普通用户界面2.7 其他功能贴图 3、下载 总览…...

Module-Federation[微前端]

Module-Federation 微前端简介我们为什么没有延续使用【乾坤】使用Module-Federation 优/缺EMP 优EMP 缺图解DEMO详解`Tips:` [文件资源](https://download.csdn.net/download/alnorthword/88699315)微前端简介 微前端是借鉴了微服务的理念,将一个庞大的应用拆分成多个独立灵活…...

Spring 动态数据源事务处理

在一般的 Spring 应用中,如果底层数据库访问采用的是 MyBatis,那么在大多数情况下,只使用一个单独的数据源,Spring 的事务管理在大多数情况下都是有效的。然而,在一些复杂的业务场景下,如需要在某一时刻访问不同的数据库,由于 Spring 对于事务管理实现的方式,可能不能达…...

WSL2-Ubuntu22.04子系统图形化界面搭建与远程桌面连接

提示&#xff1a;文中不提供WSL2子系统搭建步骤&#xff0c;假定子系统已建立好&#xff1a; 文章目录 检查WSL子系统状态图形化界面安装远程桌面连接可能遇到的相关问题xrdp状态异常远程桌面黑屏 检查WSL子系统状态 wsl -l -v如下图所示为正常 图形化界面安装 以此执行如下…...

【sklearn练习】model常用属性和功能

介绍 scikit-learn 中的机器学习模型&#xff08;estimator&#xff09;通常具有一组常用属性和功能&#xff0c;这些属性和功能可以用于训练、评估和使用模型。以下是一些常见的模型属性和功能&#xff1a; 常见属性&#xff1a; coef_&#xff1a;对于线性模型&#xff08;…...

IO类day01

File类 File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径) 使用File可以做到: 1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间等等 2:创建和删除文件或目录 3:访问一个目录中的子项 但是File不能访问文件数据. pu…...

软件测试大作业||测试计划+测试用例+性能用例+自动化用例+测试报告

xxx学院 2023—2024 学年度第二学期期末考试 《软件测试》&#xff08;A&#xff09;试题&#xff08;开卷&#xff09; 题目&#xff1a;以某一 web 系统为测试对象&#xff0c;完成以下文档的编写&#xff1a; &#xff08;满分 100 分&#xff09; &#xff08;1&am…...

适用于任何公司的网络安全架构

1.第一等级:基础级 优势 可防范基本有针对性的攻击&#xff0c;使攻击者难以在网络上推进。将生产环境与企业环境进行基本隔离。 劣势 默认的企业网络应被视为潜在受损。普通员工的工作站以及管理员的工作站可能受到潜在威胁&#xff0c;因为它们在生产网络中具有基本和管理…...

Excel:通过excel将表数据批量转换成SQL语句

这里有一张表《student》&#xff0c;里面有10条测试数据&#xff0c;现在将这10条测试数据自动生成 insert语句&#xff0c;去数据库 批量执行 P.S. 主要用到excel表格中的 CONCATENATE函数&#xff0c;将单元格里面的内容填入到sql里面对应的位置 1. 先写好一条insert语句&a…...

Android linphone-android sdk设置语音编码问题

1.遇到的问题 今天遇到linphone-android sdk需要解决语音编码问题&#xff0c;需要指定编码。查了下配置&#xff0c;里面没有发现类似的配置。 ## Start of factory rc # This file shall not contain path referencing package name, in order to be portable when app is r…...

Hyperledger Fabric Orderer 配置解析

文中使用的 fabric 版本为 2.4.1 排序节点在 Fabric 网络中为 Peer 提供排序服务。与 Peer 节点类似&#xff0c;排序节点支持从命令行参数、环境变量或配置文件中读取配置信息。环境变量中配置需要以 ORDERER_前缀开头&#xff0c;例如&#xff0c;配置文件中的 general.Liste…...

苹果电脑交互式原型设计软件Axure RP 9 mac特色介绍

Axure RP 9 for Mac是一款交互式原型设计软件&#xff0c;使用axure rp9以最佳的方式展示您的作品&#xff0c;优化现代浏览器并为现代工作流程设计。同时确保您的解决方案正确完整地构建。Axure RP 9 for Mac为您整理笔记&#xff0c;将其分配给UI元素&#xff0c;并合并屏幕注…...

Java 判断实体类对象的全部属性是否空

public boolean checkObjAllFieldsIsNull(Object object) {// 如果对象为null直接返回trueif (null object) {return true;}try {// 挨个获取对象属性值for (Field f : object.getClass().getDeclaredFields()) {f.setAccessible(true);// 如果有一个属性值不为null&#xff0…...

Vue3-44-Pinia- 安装步骤

介绍 本文介绍 在 vue3 中 安装 Pinia 的步骤 安装步骤 1、npm 安装 npm install pinia》 安装完成后可以看到 package.json 中添加了 pinia 的依赖信息 2、main.ts 中配置 // 引入 vue实例创建方法 import { createApp } from vue// 引入pinia import { createPinia } fro…...

L1-005 考试座位号(Java)

题目 每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff0c;考试时考生需要换…...

HDFS概述

文章目录 HDFS背景定义HDFS 优缺点HDFS 组成HDFS文件块大小 HDFS背景定义 背景 先给大家介绍一下什么叫HDFS&#xff0c;我们生活在信息爆炸的时代&#xff0c;随着数据量越来越大&#xff0c;在一个操作系统存不下所有的数据&#xff0c;那么就分配到更多的操作系统管理的磁…...

Hive 的 安装与部署

目录 1 安装 MySql2 安装 Hive3 Hive 元数据配置到 MySql4 启动 Hive Hive 官网 1 安装 MySql 为什么需要安装 MySql? 原因在于Hive 默认使用的元数据库为 derby&#xff0c;开启 Hive 之后就会占用元数据库&#xff0c;且不与其他客户端共享数据&#xff0c;如果想多窗口操作…...

【HBase】——优化

1 RowKey设计 重要&#xff1a;一条数据的唯一标识就是 rowkey&#xff0c;那么这条数据存储于哪个分区&#xff0c;取决于 rowkey 处于 哪个一个预分区的区间内&#xff0c;设计 rowkey的主要目的 &#xff0c;就是让数据均匀的分布于所有的 region 中&#xff0c;在一定程度…...

什么是跨域以及怎么处理跨域问题

文章目录 什么是跨域&#xff1f;跨域问题常见场景怎么处理跨域1、配置代理2、CORS&#xff08;跨域资源共享&#xff09;3、JSONP&#xff08;仅限 GET 请求&#xff09;4、使用 WebSocket 注意事项&#xff1a; 什么是跨域&#xff1f; 跨域&#xff08;Cross-Origin&#x…...

【Linux Shell】11. 输入/输出 重定向

文章目录 【 1. 重定向简介 】【 2. 输出重定向 】【 3. 输入重定向 】【 4. Here Document 】【 5. /dev/null 文件 】 【 1. 重定向简介 】 大多数 UNIX 系统命令从终端接受输入并将所产生的输出发送回​​到原来输入的终端。一个命令通常从标准输入的地方读取输入&#xff…...

数据库-简单表的操作And查看表的结构

查看表的结构 desc 表名;mysql> use study; Database changed mysql> create table Class(class_id int ,class_name varchar(128),class_teachar varchar(64)) ; Query OK, 0 rows affected (0.06 sec) mysql> show tables; ----------------- | Tables_in_study…...

<设计模式修炼>模板方法模式的使用场景和注意事项学习

介绍 模板方法模式&#xff08;Template Method Pattern&#xff09;&#xff0c;又叫模板模式(Template Pattern)&#xff0c;在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 2) 简单说&#xff…...

天津教育学会网站建设/绍兴百度seo

都9102年了&#xff0c;你还在手写分布式锁吗&#xff1f; 经常被问到”如何实现分布式锁”&#xff0c;看来这是大家的一个痛点。 其实Java世界的”半壁江山”——Spring早就提供了分布式锁的实现。早期&#xff0c;分布式锁的相关代码存在于Spring Cloud的子项目Spring Cloud…...

自媒体还是做网站/yoast seo

我就想简单的导出一个数据库文件&#xff0c;不需要复杂的操作。 MySQL命令行导出数据库&#xff0c;网上基本上清一色答案&#xff1a; mysqldump -u 用户名 -p 数据库名 > 导出的文件名.sql 我输入之后却出现这样的错误&#xff1a; 百度错误提示信息之后的原因是因为&…...

网站mssql 导出数据/成都百度关键词排名

对于api 26版本及以上版本的系统&#xff0c;系统优先去读这个目录下的应用图标。 参考&#xff1a; note_35&#xff1a;Image Asset和mipmap-anydpi-v26...

彩票网站开发.极云/太原百度关键词排名

1 简介 推荐一篇文章&#xff0c;写的非常好https://blog.csdn.net/u014231646/article/details/79482195 2 下载安装及配置 官网&#xff1a; 2.1 下载安装 根据电脑配置选择32位或者64位进行安装。安装成功后解压到自己需要安装的目录。 tomcat的目录介绍 [外链图片转存失败…...

免费空间 个人网站 google广告联盟/百度快速排名软件原理

第一天&#xff1a;组织会议 第二天&#xff1a;发表博客 第三天&#xff1a;组织会议 第四天&#xff1a;发表博客 第五天&#xff1a;搜集要用到的图片&#xff0c;组织会议 第六天&#xff1a;发表博客 第七天&#xff1a;组织会议 第八天&#xff1a;发表博客 第九天&#…...

广东网站建设服务公司/淘客推广

前言 市面上有 N 多个查询天气信息的软件、小程序以及网页入口&#xff0c;基本都是通过调用天气查询 API 去实现的。 今天整理了一下多种场景的天气预报API 接口分享给大家&#xff0c;有需要赶紧收藏起来。 天气预报查询 天气预报查询支持全国以及全球多个城市的天气查询…...