SQL-条件查询与聚合函数的使用

🎉欢迎您来到我的MySQL基础复习专栏
☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹
✨博客主页:小小恶斯法克的博客
🎈该系列文章专栏:重拾MySQL
🍹文章作者技术和水平很有限,如果文中出现错误,希望大家能指正🙏
📜 感谢大家的关注! ❤️
目录
DQL-条件查询
1.语法
2.条件
常用的比较运算符如下:
常用的逻辑运算符如下:
案例:
聚合函数
1.常见的聚合函数
2.聚合函数的语法
案例:
DQL-条件查询
1.语法
SELECT 字段列表 FROM 表名 WHERE 条件列表 ;
where之后跟的是条件列表,也就意味着where之后的条件可以是一个也可以是多个,后面的条件我们可以有哪些构建形式呢?
2.条件
常用的比较运算符如下:
| 比较运算符 | 功能 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| = | 等于 |
| <> 或 != | 不等于 |
| BETWEEN ..(最小值).. AND ..(最大值).. | 在某个范围之内(含最小、最大值) |
| IN(...) | 在in之后的列表中的值,多选一,列表中的值满足其一即可,然后用逗号分隔各项值 |
| LIKE 占位符 | 模糊匹配(_匹配单个字符, %匹配任意个字符) |
| IS NULL | 是NULL |
| IS NOT NULL | 不是空值NULL |
常用的逻辑运算符如下:
| 逻辑运算符 | 功能 |
| AND 或 && | 并且 (多个条件同时成立) |
| OR 或 || | 或者 (多个条件任意一个成立) |
| NOT 或 ! | 非 , 不 是 |
案例:
1.查询年龄等于 53 的员工
select * from emp where age = 53 ;
执行如下 :

2.查询年龄小于 20 的员工信息
select * from emp where age < 20 ;
执行如下:
3.查询年龄小于等于 20 的员工信息
select * from emp where age <= 20;
执行如下:
4.查询没有身份证号的员工信息
select * from emp where idcard is null;
执行如下:

5.查询有身份证号的员工信息
select * from emp where idcard is not null;
执行如下:

6.查询年龄不等于 88 的员工信息
select * from emp where age != 88;select * from emp where age <> 88;
执行如下:

7.查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息
select * from emp where age >= 15 && age <= 20;select * from emp where age >= 15 and age <= 20;select * from emp where age between 15 and 20
执行如下:

8.查询性别为 女 且年龄小于 25岁的员工信息
select * from emp where gender = '女' and age < 25;
执行如下:

9.查询年龄等于18 或 20 或 40 的员工信息
in的语法还是跟大家多唠叨唠叨,它的意思是你给予的列表(18,20,40)满足了其中一个就把数据查询,也就是查询年龄等于18的人,查询年龄等于20的人,查询年龄等于40的人
select * from emp where age = 18 or age = 20 or age =40;select * from emp where age in(18,20,40);
执行如下:

10.查询姓名为三个字的员工信息
需要使用like,在SQL语句中模糊匹配有两个占位符,一个是下划线_,代表单个字符,一个是百分号%,匹配任意字符
本题中需要两个字符怎么思考?一个下划线代表一个字符,那么三个下划线就代表三个字符,也就是三个字的名字
select * from emp where name like '__';
执行如下:

11.查询身份证号最后一位是X的员工信息
方法一:最后一位是x,也就意味前面的字符是什么无所谓,那么前面我可以使用任意字符匹配%,用%匹配17位,因为是任意多少位,所以我去限制最后一位必须是x,让它成为第18位必须是x,这样就可以解决了
方法二:既然一个下划线_代表一个字符,那么我用17个下划线占17个位置,最后一个位置我限制为x,就解决了
select * from emp where idcard like '%X';select * from emp where idcard like '_________________X';
执行如下:


可以看出两者的查询结果相同
聚合函数
定义:将一列数据作为一个整体,进行纵向计算 。
1.常见的聚合函数
重点!!这些聚合函数都是作用于表中的某一列,纵向对数据进行的一个操作
| 函数 | 功能 |
| count | 统计数量 (可以统计某一列,或者整张表的记录数) |
| max | 最大值 |
| min | 最小值 |
| avg | 平均值 |
| sum | 求和 |
2.聚合函数的语法
SELECT 聚合函数(字段列表) FROM 表名 ;
注意 : NULL值是不参与所有聚合函数运算的。
案例:
1.统计该企业员工数量
1.count()括号里面去填写字段,那么应该填什么字段,我需要求的是整张表的数据,此时可以去使用*,此时查询到的就是整张表的总数据量
2.如果不写*,也可以写具体的字段id,此时统计的就是这张表id字段的数量,每一条记录都有对应的id
3.假如我count()里面填写的字段是idcard,那么总数是几?你可以发现总数量是16条,而idcard有值的是15条,我们测试一下,发现确实是15条数据,所以一般我们去统计总数量,直接count(*)比较保险
select count(*) from emp; -- 统计的是总记录数select count(id) from emp; select count(idcard) from emp; -- 统计的是idcard字段不为null的记录数
执行效果如图:


提前拓展:对于count聚合函数,统计符合条件的总记录数,还可以通过 count(数字/字符串)的形式进行统计查询,比如:
select count(1) from emp;
对于count(*) 、count(字段)、 count(1) 的具体原理,我们到时候复习进阶篇中SQL优化部分会详细学习,此处大家只需要知道如何使用即可。
2.统计该企业员工的最小年龄
这里大家需要注意!不要理解错误了,我们去查询age这一纵列然后去寻找最小的年龄是多少,数字是几,然后返回这个年龄数值,而并非返回年龄最小的这个人的所有字段的数据,这个有很多人会理解错误,希望大家注意!
select min(age) from emp;
执行如下:

3.统计该企业员工的最大年龄
select max(age) from emp;
执行如下:

4.统计该企业员工的平均年龄
select avg(age) from emp;
执行如下:

5.统计北京地区员工的年龄之和
select sum(age) from emp where workaddress = '北京';
此时我们先查询下北京地区的员工有哪些?
求年龄之和用到sum函数,此时我们直接把*改为 sum(age)即可,注意,这里最最重要的是条件,关注到我们有一个条件限制,北京地区的员工,所有我们肯定是需要增加where的,然后指定workaddress = '北京'
执行如下:

总结:聚合函数非常重要的一点,就是所有的null值是不参与聚合函数的运算的!
相关文章:
SQL-条件查询与聚合函数的使用
🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…...
Qt移植曲线显示
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、确定文件组成?1. 复制新文件2.新建ui窗口 二、实际操作2.1 新建Ui窗口,要添加带.h的否则跳转错误2.2添加文件到.h2.3 添加文件cpp 三…...
基于springboot生鲜交易系统源码和论文
首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包括软件架构模式、整体功能模块、数据库设计。本项…...
vue中鼠标拖动触发滚动条的移动
前言 在做后端管理系统中,像弹窗或大的表单时,经常会有滚动条的出现,但有些时候如流程、图片等操作时,仅仅使用鼠标拖动滚动条操作不太方便,如果使用鼠标拖拽图片或容器来触发滚动条的移动就比较方便了 功能设计 如…...
1、理解Transformer:革新自然语言处理的模型
目录 一、论文题目 二、背景与动机 三、卖点与创新 四、解决的问题 五、具体实现细节 0. Transformer 架构的主要组件 1. 注意力、自注意力(Self-Attention)到多头注意力(Multi-Head Attention) 注意力到底是做什么的&…...
Acwing847 图中点的层次(bfs)
这道题用的是bfs,一开始用了dfs搜出了答案为4 题目 给定一个 n个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1,点的编号为 1∼n。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点&…...
windows11通过虚拟机安装Ubuntu20.04
VMware 分为 VMware Workstation Pro 和 VMware Workstation Player, Pro体验期后收费,Player则免费。player 早期不能创建虚拟机,只能Pro创建好后给Player运行,而现在player早已加入创建虚拟机功能,所以使用体验上两者相差不大&a…...
时序预测 | Matlab实现EEMD-SSA-BiLSTM、EEMD-BiLSTM、SSA-BiLSTM、BiLSTM时序预测对比
时序预测 | Matlab实现EEMD-SSA-BiLSTM、EEMD-BiLSTM、SSA-BiLSTM、BiLSTM时间序列预测对比 目录 时序预测 | Matlab实现EEMD-SSA-BiLSTM、EEMD-BiLSTM、SSA-BiLSTM、BiLSTM时间序列预测对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现EEMD-SSA-BiLSTM、…...
Android14之解决Pixel手机联网出现感叹号(一百八十)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
Vmware虚拟机问题解决方案 运行虚拟机系统蓝屏 运行虚拟机时报错VT-x
1. 运行虚拟机系统蓝屏 可能的原因有两个: 1). 虚拟机所在磁盘的空间不足 ; -------> 清理磁盘空间 。 2). 操作系统版本高, 需要适配新版本的Vmware ; ------> 卸载Vmware15版本, 安装Vmware16版本 。 2. 卸载Vmware步骤 1). 卸载已经安装的VMware 弹出确认框, 点击…...
uni-app中轮播图实现大图预览
参考效果 当轮播图滑动切换的时候更新自定义下标,当图片被点击的时候大图预览。 参考代码 商品详情页轮播图交互 <script setup lang"ts"> // 轮播图变化时 const currentIndex ref(0) const onChange: UniHelper.SwiperOnChange (ev) > …...
了解什么是UV纹理?
在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 什么是UV? UV 是与几何图形的顶点信息相对应的二维纹理坐…...
【蓝桥备赛】wzy的数组Ⅱ——简单莫队问题
题目链接 wzy的数组Ⅱ 个人思路 本题需要统计区间范围内 数值为 x 在区间出现次数也为 x 的数的个数。区间询问 多次询问,我们选择 莫队。 将多次询问按照区间边界进行排序,每一次区间的移动,先去判断当前区间指针所指向的数是否符合题目…...
学习Qt笔记
前言: 学习笔记的内容来自B站up主阿西拜编程 《Qt6 C开发指南 》2023(上册,完整版)_哔哩哔哩_bilibili《Qt6 C开发指南 》2023(上册,完整版)共计84条视频,包括:00书籍介…...
pymssql 报错误解决办法:20002, severity 9
错误 解决办法 python3.6,安装pymssql低版本(pymssql-2.1.5-cp36-cp36m-win32.whl)...
Web缓存代理
目录 一.Web缓存代理 配置Nginx 缓存代理: 修改web服务器的配置文件: 修改192.168.233.10代理服务器的配置文件: 访问页面看看: 对于一些实时性要求非常高的页面或数据来说,就不应该去设置缓存,下面来…...
Rust-模式解构
match 首先,我们看看使用match的最简单的示例: exhaustive 有些时候我们不想把每种情况一一列出,可以用一个下划线来表达“除了列出来的那些之外的其他情况”: 下划线 下划线还能用在模式匹配的各种地方,用来表示…...
C#基于ScottPlot进行可视化
前言 上一篇文章跟大家分享了用NumSharp实现简单的线性回归,但是没有进行可视化,可能对拟合的过程没有直观的感受,因此今天跟大家介绍一下使用C#基于Scottplot进行可视化,当然Python的代码,我也会同步进行可视化。 P…...
基于JAVA+ssm开发的在线报名系统设计与实现【附源码】
基于JAVAssm开发的在线报名系统设计与实现【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 …...
蓝桥——第 3 场 小白入门赛(A-D)
文章目录 一、题目A.召唤神坤基本思路:代码 B.聪明的交换策略基本思路:代码 C.怪兽突击基本思路:代码 D.蓝桥快打基本思路代码 一、题目 A.召唤神坤 基本思路: 贪心, 使结果最大,希望两边w[i],w[k]是较大…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...



