MySQL嵌套,别名,分组查询

有以下三张表:分别是课程表c,有课程号cno,课程名cname,课程类别cpro等

学生信息表s,学号sno,姓名sname,性别ssex,年龄sage,班级sclass,籍贯jg

成绩表sc,学号sno,课程号cno,成绩score。

1.查询同时选修了c04和c05的同学的学号。

我们在成绩表sc中可以发现,选修了c04课程的有060101,060102,070103,070301四人,选修了c05课程的有060101一人。所以同时选修了c04和c05课程的人只有060101

通过sql语句查询,

(1).嵌套查询,先查出选修了c05课程的人,再在选修了c05课程的人中查询选修c04的人:select sno from sc where cno='c04' and sno in(select sno from sc where cno='c05');

只需要映射学号一列,select sno。来自表sc,form sc。 查询课程号为c04,并且学号为来自选修了c05的学号。sno in(查出的结果是选修了c05课程的学号)。选中,右击运行已选择的

(2).临时修改表名查询,sc分别临时修改为两张表a和b,连接查询,join on。

from sc a join sc b分别修改成两个命令a,b连接两个表的学号a.sno=b.sno。来自每张表的cno=c04和cno=c05,映射出a的学号a.sno
select a.sno from sc a join sc b on a.sno=b.sno where a.cno='c04' and b.cno='c05';  如图

2.统计选课人数超过3人的课程的课程号(cno)和选课人数(sno),分组(group by),统计学号大于3个人的

分析:选课人数超过3人,有c01课程和c04课程都超过了3人,要映射出他们的课程号和人数

语句:select cno 课程号,count(sno) 选课人数 from sc group by cno having count(sno)>3;

要查出课程号和课程人数,即cno,sno,改个名字cno 课程号sno 选课人数

在成绩表中,对课程分组,统计出分组后的学号个数大于3人的,如c01为1组,在c01中有060101,060102,070101,070301,统计学号的个数发现是4,满足赛选。反例:在c02课程组中,只有070101,080101两人,不满足count(sno)>3。如图:

----------end--------------

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++STL---list知识汇总

前言 学习完list,我们会对STL中的迭代器有进一步的认识。list底层有很多经典的东西,尤其是他的迭代器。而list的结构是一个带头双向循环链表。 list没有reserve和resize,因为它底层不是连续的空间,它是用时随时申请,…

【QT】父子按钮同时响应点击事件

QPushButton如何响应点击事件 QPushButton::event(QEvent *e) 。可以看到在QPushButton中的event函数中并没有鼠标点击相关的操作,那么我们去QAbstractButton::event中寻找 damn it!。依然没有那我们去QWidget::event中寻找 damn it! 只有mousePressEvent mouseR…

c++学生管理系统

想要实现的功能 1,可以增加学生的信息,包括(姓名,学号,c成绩,高数成绩,英语成绩) 2,可以删除学生信息 3,修改学生信息 4,显示所有学生信息 5&#xff0c…

python中利用cartopy库绘制SST图像

1. Cartopy简介 Cartopy 是一个开源的 Python 库,用于绘制地图和地理数据分析。它结合了 matplotlib 的绘图功能和 shapely、pyproj 等库的地理空间数据处理能力,为用户提供了在地图上可视化数据的强大工具。 以下是 Cartopy 的一些主要特点和功能&#…

微信公众号开发(问题1):订阅号不能定时发私信/私信

微信公众号开发时,因为个人使用,申请的是订阅号,本来是想出了自动回复,再加一个定时消息的功能,尝试利用flask里的scheduler添加定时任务,但是执行之后不能收到消息,通过再次查看订阅号的功能&a…

stm32mp157为什么要把相同的tf-A trust烧录emmc的boot1和boot2?

在使用该处理器时,为什么要将相同的Trusted Firmware-A (TF-A)烧录到eMMC的Boot1和Boot2区域呢? 这么做的主要原因包括: 冗余性和可靠性: 将相同的TF-A烧录到两个不同的引导区域(Boot1和Boot2)可以增加系…

LeetCode 算法:找到字符串中所有字母异位词c++

原题链接🔗:找到字符串中所有字母异位词 难度:中等⭐️⭐️ 题目 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符…

Jenkins流水线pipeline--基于上一章的工作流程

1流水线部署 1.流水线文本名Jenkinsfile,将流水线放入gitlab远程仓库代码里面 2pipeline脚本 Jenkinsfile文件内容 pipeline {agent anyenvironment {key"value"}stages {stage("拉取git仓库代码") {steps {deleteDir()checkout scmGit(branches: [[nam…

人工智能与【肿瘤免疫微环境】结合,探索免疫治疗的新方向|24年6月·顶刊速递·06-02

罗小罗同学说 24-06-02|文献速递 今天分享的文章,主题是——人工智能&肿瘤免疫微环境。解释一下这张图,左列是文献标题,右侧是发表的年月,放心,都是顶刊,不然我也不会选的。 PS&#xff1a…

大数据测试/ETL开发,如何造测试数据

相信很多的小伙伴,有些是大数据测试岗位,有些是ETL开发,都面临着如何要造数据的情况。 1,造数背景 【大数据测试岗位】,比较出名的就是宁波银行,如果你在宁波银行做大数据开发,对着需求开发完…

Java——常见进制

在计算机领域有四种比较常见的进制,分别是二进制、八进制、十进制和十六进制。 一、二进制(Binary) 二进制(Binary)是一种基数为2的数值系统,仅使用两个符号:0和1。所以它的进位规则就是逢二进…

机械革命硬盘数据恢复:深度解析与实用指南

随着科技的飞速发展,数据存储与备份已成为我们日常生活和工作中不可或缺的一部分。然而,硬盘故障、误删除或格式化等意外情况时常发生,导致重要数据丢失,给用户带来极大的困扰。本文将以“机械革命硬盘数据恢复”为主题&#xff0…

【惯性传感器imu】—— WHEELTEC的惯导模块的imu的驱动安装配置和运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、IMU驱动安装1. 安装依赖2. 源码的下载3. 编译源码(1) 配置固定串口设备(2) 修改luanch文件(3) 编译 二、启动IMU1. 运行imu2. 查看imu数据 总结 前言 WHEE…

随记-点选验证码(二)

之前写过一篇文章 随记-点选验证码 ,当时借助了 ddddocr 完成了ocr 识别,这篇文章算是对之前的补充。 本次更换了新的方案: 通过 ultralytics(YOLO8)训练自己的模型 吐槽一句:标注真是一件耗时的事情啊&am…

【Matplotlib作图-2.Deviation】50 Matplotlib Visualizations, Python实现,源码可复现

目录 02 Deviation 2.0 Prerequisite 2.1 发散型条形图(Diverging Bars) 2.2 发散型文本(Diverging Texts) 2.3 Diverging Dot Plot 2.4 Diverging Lollipop Chart with Markers 2.5 面积图(Area Chart) References 02 Deviation 2.0 Prerequisite Setup.py # !pip ins…

图书推荐:ChatGPT专业知识信息课程

《ChatGPT专业知识信息课程》(ChatGPT-Expertise Informative Course) 是一本由Dwayne Anderson撰写的电子书,提供了关于ChatGPT的丰富知识。该书涵盖了与ChatGPT相关的各种主题,如其与OpenAI的关系、ChatGPT与GPT-3之间的混淆、C…

【LeetCode热题100总结】239. 滑动窗口最大值

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums [1,3,-1,-3,5,3,6,7]…

STM32-- GPIO->EXTI->NVIC中断

一、NVIC简介 什么是 NVIC ? NVIC 即嵌套向量中断控制器,全称 Nested vectored interrupt controller 。它 是内核的器件,所以它的更多描述可以看内核有关的资料。M3/M4/M7 内核都是支持 256 个中断,其中包含了 16 个系统中…

WHAT - 容器化系列(一)

这里写目录标题 一、什么是容器与虚拟机1.1 什么是容器1.2 容器的特点1.3 容器和虚拟机的区别虚拟机(VM):基于硬件的资源隔离技术容器:基于操作系统的资源隔离技术对比总结应用场景 二、容器的实现原理1. Namespace(命…

【Java】一文看懂Thread 线程池的 7 种创建方式、任务队列及自定义线程池(代码示例)

本文摘要:【Java】Thread 线程池的 7 种创建方式及自定义线程池(代码示例版) 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专…