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

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--------------

相关文章:

  • 安全基础二
  • L9110S电机控制模块
  • 书生·浦语大模型全链路开源体系-笔记作业2
  • 设计模式——结构型模式——责任链模式
  • vue 引用第三方库 Swpier轮播图
  • Low Memory Killer in Android
  • Python 学习笔记【1】
  • 内网渗透-在HTTP协议层面绕过WAF
  • 【学习笔记】计算机组成原理(九+十)
  • c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等
  • 联想R9000p游戏本常用快捷键
  • Next前端是什么
  • 本地知识库开源框架Fastgpt、MaxKB产品体验
  • 深度学习复盘与论文复现A
  • 文件批量改后缀名,轻松实现TXT到DOCX格式转换,高效管理您的文件库!
  • [nginx文档翻译系列] 控制nginx
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 2019.2.20 c++ 知识梳理
  • angular组件开发
  •  D - 粉碎叛乱F - 其他起义
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • Java应用性能调优
  • js中forEach回调同异步问题
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nfs客户端进程变D,延伸linux的lock
  • npx命令介绍
  • NSTimer学习笔记
  • Sass Day-01
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 如何进阶一名有竞争力的程序员?
  • 深度学习入门:10门免费线上课程推荐
  • 一些关于Rust在2019年的思考
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • ( 10 )MySQL中的外键
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • . Flume面试题
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .md即markdown文件的基本常用编写语法
  • .net core使用ef 6
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 获取url的方法
  • .net 设置默认首页
  • .NET导入Excel数据
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • /proc/vmstat 详解
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @property @synthesize @dynamic 及相关属性作用探究
  • [AIGC] 广度优先搜索(Breadth-First Search,BFS)详解