MySQL基础笔记(8)-MySql单表查询练习

Mysql 单表查询简单查询 Mysql 单表查询简单查询 一、目的 1、掌握SELECT命令单表查询基本结构 2、学会使用SQL命令进行单表查询操作 二、内容 用于企业管理的员工管理数据库,数据库名为YGGL,包含员工信息表Employees、部门信息表Departments、员工薪水情况表Salary ,各表数据如下。 对YGGL数据库完成以下查询。 1、SELECT语句查询 (1).查询employees表部门号和性别,要求消除重复行。 SELECT DISTINCT 员工部门号,性别 FROM employees (2 阅读详情

目录

一、需求

二、解答


本篇从经典的单表复杂查询入手,回顾前面的常用子句,子查询和聚合函数知识,多多练习,才能对sql有更深刻的认识。


对子查询和函数,子句不熟悉的朋友可以参考本专栏的文章:

1、子查询

2、MySql函数

3、MySql子句分析

一、需求

假设数据库中有一张学生成绩表tb_grade,字段如下:

 | sno  |sname | cno | cname | score |

1、查询不及格科目数大于等于3的学生学号和不及格科目数量

2、查询不及格科目数大于等于3的学生学号和学生姓名

3、查询不及格科目数大于等于3的学生学号、学生姓名、科目号、 科目名称和分数,并按学号降序、科目号升序排序

 

二、解答

1、查询不及格科目数大于等于2的学生学号和不及格科目数量

对于这个需求,首先可以肯定必须先用WHERE筛选出成绩小于60的学生,再使用聚合函数COUNT()统计数量,使用GROUP BY通过学生学号分组,所以sql可以这么写

SELECT
  t.sno,
  COUNT(*)
FROM tb_grade t
WHERE t.score < 60
GROUP BY t.sno
HAVING COUNT( * ) >= 3

 2、查询不及格科目数大于等于2的学生学号和学生姓名

这个需求和上面的几乎是一样的,我们需要先分组,然后再用HAVING判断数量即可

SELECT t.sno,t.sname
FROM tb_grade t
WHERE t.score < 60 
GROUP BY t.sno
HAVING COUNT(*) >= 3

 3、查询不及格科目数大于等于3的学生学号、学生姓名、科目号、 科目名称和分数,并按学号降序、科目号升序排序

 首先我们需要知道哪些学生不及格科目数大于等于3,这涉及到子查询;ORDER BY排序中,默认为升序,即ASC,降序需要手动码上DESC,所以sql可以这样写

SELECT t1.sname,t1.cno,t1.cname,t1.score
FROM tb_grade t1
WHERE t1.sno
 IN (SELECT t2.sno 
FROM tb_grade t2 
WHERE t2.score < 60
 HAVING COUNT(*) >= 3)
ORDER BY t.sno 
DESC, t.cno ASC

 

MySQL数据库 - 单表查询 MySQL数据库 - 单表查询(一) MySQL数据库 - 单表查询(二) MySQL数据库 - 单表查询(三) 阅读详情

相关推荐

MySQL 实验8 单表查询练习

MySQL 实验8 单表查询练习 目录 一、实验目的 二、实验要求 三、实验内容及步骤 (1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。 (2) 查询所有学生的学号、姓名、性别和出生日期。 (3) 查询所有课程的课程名称。 (4) 查询前10门课程的课号及课程名称。 (5) 查询所有学生的姓名及年龄。 (6) 查询所有年龄大于32岁的女生的学号和姓名。 (7) 查询所有男生的信息。 (8) 查询所有任课教师的姓名(tname)和所在系别(t

CTF_zhang的博客 4270

SQL数据库经典题型(2)列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

1.查询平均成绩不及格的学生姓名及平均成绩 2.--列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 3.--查询所有同学的学号、姓名、选课数、总成绩

qq_51665736的博客 5957

MySQL单表查询和多表查询的练习

INSERTINTO`worker`(`部门号`,`职工号`,`工作时间`,`工资`,`政治面貌`,`姓名`,`出生日期`)VALUES(102,1006,'2017-5-5',4500.00,'党员','孙八','1996-9-2');INSERTINTOstudentVALUES(904,'李四','男',1990,'英语系','辽宁省阜新市');INSERTINTOscoreVALUES(NULL,902,'计算机',65);

JunZheSama的博客 631

数据库作业(3)数据查询(自用复习)

1. SQL查询:统计各门课程选修人数,要求输出课程代号,课程名,有成绩人数(grade不为NULL),最高分,最低分,平均分,按课程号排序。 #统计各门课程选修人数,要求输出课程代号,课程名,有成绩人数(grade不为NULL),最高分,最低分,平均分(取整round函数),按课程号排序。 select sc.cno,cname,count(*),max(grade),min(grade),round(avg(grade)) from sc,course where grade is not n.

SweetSky_Lee的博客 6880

【MySQL】对yggl表的查询综合练习

对YGGL数据库完成以下查询:目录原表Select 语句的基本使用条件查询多表查询分类汇总与排序1.查询employees表的员工部门号和性别,要求消除重复行。 2.计算每个雇员的实际收入(实际收入=收入-支出) 3.查询employees表中员工的姓名和性别,要求性别值为1时显示为“男”,为0时显示为“女”。 4.查询每个雇员的地址和电话号码,显示的列标题为adress、telephone 5.计算Salary表中员工月收入的平均数。 6.计算所有员工的总支出。 7.显示女雇员的地址和电话号码。 8.计算

m0_67392409的博客 4155

MySQL单表查询进阶

查询是数据操作至关重要的一部分,比如说在所有商品中查找出价格在规定范围内的所有商品,要想把数据库中的数据在客户端中展示给用户,一般都进行了查询的操作。 在实际开发中,我们要根据不同的需求,并且考虑查询的效率来决定怎样进行查询。

zhangxia_的博客 5633

Mysql面试题:一条SQL语句查询出每个班的及格人数和不及格人数

用一条SQL语句查询出每个班的及格人数和不及格人数,格式为:class,及格人数,不及格人数(score>=60为及格)

有人和我一样懒 6136

《第五部分-练习题1:MySQL单表查询》

目录 (新建语句)在Mysql中执行创建student数据库和添加数据 1、查询1832班的成绩信息 2、查询1833班,语文成绩大于80小于90的成绩信息 3、查询学生表中5到10行的数据 4、显示1832班英语成绩为98,数学成绩为77的姓名与学号, 5、查询出1832班成绩并且按语文成绩排序(降序) 6、查询1833班与1832班,语文成绩与数学成绩都小于80的姓名。 7、查询出没有参加语文考试的学生姓名和班级名称。 8、求出班上语文成绩不及格的学生姓名 9、求出每个班的...

大大大钢琴 8039

MySQL数据分析:多表查询

本篇文章主题为MySQL多表查询,在实际的业务中,不可能将所有的数据都存到一张表格中,往往会有数张,甚至数十张十张表来支撑整个工作,那我们如何从多个表格中选取需要的数据呢。本节,我们继续对MySQL基础知识深入讲解:如何对多表进行查询? 目录: 表的加法 表的联结 case表达式 新增一张名为course_1的表格 表的加法 我们现在有两张课程表分别是课程表course 和 课程表course_...

weixin_42072835的博客 599

【科研学习】Demo3D2015安装包以及图文安装步骤

安装包 点击下图的.exe文件,安装 不需要解压,打开注册机 如下图: 点击上图的.exe文件,出现下图 先点击 patch 打开安装目录下的Demo3D.licensing.dll文件,然后点击Generate,生成dvt-license文件,保存即可 打开安装完成的Demo3D 2015(64-bit),一般破解没完成的,会出现一个request a license 的问题,点击find license 的那一行 点击后找到自己Generate,生成dvt

KaelCui的博客 1万+

协方差矩阵

对两个类内协方差矩阵进行对角化,可以将它们变换为对角矩阵。这个过程可以通过对每个协方差矩阵进行特征值分解来实现,从而得到它们的特征向量和特征值,进而得到它们的对角矩阵形式。这个过程的意义在于,它可以帮助我们找到一个新的坐标系,使得在这个坐标系下,每个特征之间都是独立的,从而简化了计算。具体来说,当我们使用对角协方差矩阵作为特征向量的坐标系时,它意味着每个特征之间都是相互独立的,从而方便了进一步的分析和处理。在实际应用中,对角化协方差矩阵可以用于降维、特征选择和分类等任务。

m0_55196097的博客 1万+

mysql 查询两门以上不及格学生名字及其平均成绩

mysql 查询两门以上不及格学生名字及其平均成绩

miemieY89 6712

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 533

MySQL|(单表查询操作)emp表 员工信息表练习

问题:利用emp表中的数据,完成如下查询需求: (1)查询20号部门的所有员工信息。 select * from emp where deptno=20; (2)查询津贴(comm)高于月薪(sal)的员工信息。 select * from emp where comm>sal; (3)查询津贴高于月薪的20%的员工信息。 select * from emp where comm>sal*0.2; (4)查询10号部门中职位为Manager和20号部门中职位为Clerk的员工的信息。 se

weixin_45072139的博客 1万+

Unreal5(虚幻五) 实现UI与C++代码逻辑的交互 保姆级教程

本人有Unity基础,刚学UE几天,把这一套处理流程记录一下备用。

qq_42915442的博客 9817

锁定放大器

锁定放大器

qq_46757048的博客 4706

【mysql】mysql单表查询、多表查询、分组查询、子查询等案例详细解析

子查询可以单独作为临时数据,作为一张表或者一个字段,通过()进行包裹,表达一个整体; 一般用在from,where,select.子句的后面。 可以通过查询出来的数据和 另外的表做联表变成更大一张表, 最后做单表查询,达到目的;

景天科技苑 1万+

16、SQL Server索引的创建与评估

本文详细介绍了SQL Server中索引的创建与评估方法,涵盖索引的基本概念、类型(聚集与非聚集)、唯一性设置以及如何判断索引的好坏。通过实际操作步骤、维护策略和常见问题解决方案,帮助数据库开发者合理设计索引,提升查询性能并控制维护开销。同时提供了索引创建与维护的决策流程图,便于理解和应用。

water的专栏 127

MySQL单表查询综合练习

MySQL单表查询综合练习摘要 本文提供了一套全面的MySQL单表查询练习,涵盖数据库创建、表结构设计、数据增删改查及高级查询操作。

m0_73953019的博客 527

【大模型】从0到1:DeepSeek + Coze API调用全攻略,企业,开发个人专属AI智能体使用详解,小白也能轻松上手

本文介绍了如何通过API将Coze智能体集成到自有系统中的完整步骤:1)获取API token和个人工作空间的space_id;2)通过GET请求获取bot_id;3)使用POST发起对话请求,需包含bot_id、user_id和问题内容;4)通过两次API调用异步获取响应消息。文章还解释了Coze采用异步处理机制的原因,并预告了下期将讲解Java调用Coze接口的实现方法。整个过程需要使用API工具进行调试,确保了系统集成的可行性。

qq_27246521的博客 824

把复杂计算推到数据库里:ABAP CDS View Table Function 从原理到落地实践

摘要:本文深入解析ABAP CDS Table Function技术,重点探讨其在复杂业务场景下的应用价值。当CDS View无法满足窗口函数、递归计算等高级需求时,Table Function通过结合CDS类型系统与AMDP的数据库原生计算能力,成为关键解决方案。文章详细介绍了Table Function的架构设计(CDS实体声明+AMDP实现)、客户端处理机制、开发传输流程中的注意事项,并通过航班数据示例展示最小实现闭环。这项技术特别适用于需要将复杂计算下推到数据库层的场景,能显著提升RAP和OData

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2303

MySQL单表查询练习

作业:一、单表查询素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等worker部门号职工号工作时间工资政治面貌varchar(10) NOT NULL DEFAULT ‘群众’,姓名出生日期职工号worker部门号职工号工作时间工资政治面貌姓名出生 日期) VALUES (101, 1001, ‘2015-5-4’, 3500.00, ‘群众’, ‘张三’, ‘1990-7-1’);worker部门号职工号工作时间工资政治面貌姓名出生 日期。

Wcy3076519066的博客 1891

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

mySQL单表查询

目录 mySQL单表查询 1查询所有字段 2查询指定字段 2.1查询单个字段 2.2 查询多个字段 3查询指定记录 4带 IN关键字的查询 5带 BETWEEN AND的范围查询 6带 LIKE的字符匹配查询 6.1百分号通配符'%',匹配任意长度的字符,甚至包括零字符 6.2下划线通配符'_',一次只能匹配任意一个字符 7查询空值 8带 AND的多条件查询 9带OR的...

hsj126716的博客 2580

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Mysql单表查询练习

- 查询姓名第二个字母不是'A'且薪水大于1000元的员工信息,按薪水降序排列。ename varchar(20), -- 员工名字。(7,'黄蓉','女',75,65,30),(7,'黄蓉','女',75,65,30);(1,'张明','男',89,78,90),(2,'李进','男',67,53,95),(3,'王五','女',87,78,77),(4,'李一','女',88,98,92),(5,'李财','男',82,84,67),(6,'张宝','男',55,85,45),

2301_78044462的博客 1222

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Day8:关于MySQL的数据查询——单表查询

本文详解MySQL数据查询,包括SELECT语句基础操作(字段显示、别名、计算、去重、分页、排序)和条件查询(比较、逻辑、范围、模糊匹配、空值判断),通过员工数据示例演示完整查询流程,涵盖创建表到复杂筛选的全套技术

2301_77033793的博客 1687

MySQL单表与多表查询

单表查询和多表查询各有其优势和适用场景。单表查询简单高效,适用于从单个表中检索数据;而多表查询则提供了更大的灵活性和数据关联性,适用于处理跨多个表的数据关系。在实际应用中,根据具体的查询需求和数据库结构选择合适的查询方式是非常重要的。

2301_80407229的博客 1271
上一篇: SpringBoot学习笔记(1)-SpringBoot入门
下一篇: SpringBoot学习笔记(2)-配置log4j日志
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值