MySQL单表查询进阶总结


本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于单表查询的相关内容,下面一起来看一下,希望对大家有帮助。

MySQL单表查询进阶总结

推荐学习:mysql视频教程

在我们对数据进行操作时,查询无疑是至关重要的,查询操作灵活多变,我们可以根据开发的需求,设计高效的查询操作,把数据库中存储的数据展示给用户。

查询是数据操作至关重要的一部分,比如说在所有商品中查找出价格在规定范围内的所有商品,要想把数据库中的数据在客户端中展示给用户,一般都进行了查询的操作。

在实际开发中,我们要根据不同的需求,并且考虑查询的效率来决定怎样进行查询,学习查询前,可以先看看查询的完整语法:

SELECT
	字段列表FROM
	表名列表WHERE
	条件列表GROUP BY
	分组字段H*ING
	分组后条件ORDER BY
	排序字段LIMIT
	分页限定

根据查询的完整语法中的关键字,我们分别来学习基础查询,条件查询,排序查询,分组查询和分页查询。

我们使用以下的案例学习单表查询:

-- 删除stu表
drop table if exists stu;
-- 创建stu表
CREATE TABLE stu (
id int, -- 编号
name varchar(10), -- 姓名
age int, -- 年龄
gender varchar(5), -- 性别
math double(5,2), -- 数学成绩
english double(5,2) -- 英语成绩

);
-- 添加数据
INSERT INTO stu(id,name,age,gender,math,english)
VALUES
(1,'小张',23,'男',66,78),
(2,'小李',20,'女',98,87),
(3,'小陈',55,'男',56,77),
(4,'小樊',20,'女',76,65),
(5,'小马',20,'男',86,NULL),
(6,'小赵',57,'男',99,99);

在N*icat中选中SQL执行:

在这里插入图片描述

1. 基础查询

1.1 基础查询语法

查询多个字段:

select 字段列表 from 表名;

查询全部字段:

select * from 表名;

去除重复记录:

select distinct 字段列表 from 表名;

起别名操作:

select 字段名 别名 from 表名;

1.2 基础查询练习

我们使用前言中的案例进行基础查询练习:

查询多个字段的练习:

select name,math from stu;

在这里插入图片描述

起别名操作练习:

select name,english 英语成绩 from stu;

在这里插入图片描述

2. 条件查询

2.1 条件查询语法

一般语法:

select 字段列表 from 表名 where 条件列表;

条件查询一般配合运行符进行,下面是常见的几个运算符:

运算符 功能描述
> 大于 小于 等于 不等于
between…and… 在这个范围之内
in(…) 多选一
is null / is not null 是null / 不是null
and 或 && 并且
or 或 || 或者

2.2 条件查询练习

我们使用前言中的案例进行条件查询练习:

查询年龄大于20的学生信息:

select * from stu where age>20;

在这里插入图片描述查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于21岁的学生信息:

select * from stu where age in(18,20,21);

在这里插入图片描述模糊查询使用like关键字,可以使用通配符进行占位:

  • _ : 代表单个任意字符
  • % : 代表任意个数字符

查询姓名中含有张的学生信息:

一览妙笔 一览妙笔

自媒体、编剧、营销人员写作工具

一览妙笔 50 查看详情 一览妙笔
select * from stu where name like '%张%';

在这里插入图片描述

3. 排序查询

3.1 排序查询语法

select 字段列表 from 表名 order by 排序字段名1 [排序方式]...;
注:排序方式又两种:分别是升序ASC和降序DESC,默认情况下是升序ASC。

3.2 排序查询练习

我们使用前言中的案例进行排序查询练习:

4. 聚合函数

4.1 聚合函数语法

什么是聚合函数呢?在进行查询操作时,我们往往需要对一整列进行运算,例如我们可以计算一整列成绩数据的平均值,我们就要使用聚合函数。下面是常见的聚合函数:

函数名 功能
count(列名) 统计数量(一般选用不为null的列)
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
*g(列名) 平均值

一般语法:

select 聚合函数 from 表名;

注:NULL值不参与聚合函数运算。

4.2 聚合函数练习

我们使用前言中的案例进行聚合函数的练习:

统计该表中一共有几个学生:

select count(id) from stu;

在这里插入图片描述

上面我们使用某一字段进行运算,这样做可能面临的问题是某一个值可能是NULL,所以我们一般使用 * 进行运算,因为一行中不可能所有的字段都是NULL。

select count(*) from stu;

查询数学成绩的平均分:

select *g(math) from stu;

在这里插入图片描述

5. 分组查询

5.1 分组查询语法

select 字段列表 from 表名 [where 分组前的条件限定] group by 分组字段名 [h*ing 分组后的条件过滤]

注:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义。

5.2 分组查询练习

我们使用前言中的案例进行分组查询练习:

查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组:

select gender, *g(math),count(*) from stu where math > 70 group by gender;

在这里插入图片描述

查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数大于2个的:

select gender, *g(math),count(*) from stu where math > 70 group by gender h*ing count(*) > 2;

在这里插入图片描述

注:where 和 h*ing 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而h*ing是分组之后对结果进行过滤。所以,where 不能对聚合函数进行判断,h*ing 可以。

6. 分页查询

6.1 分页查询语法

在大家的印象中,网页在展示大量的数据时,往往不是把数据一下全部展示出来,也是用分页展示的形式,其实就是对数据进行分页查询的操作,即每次只查询一页的数据展示到页面上。

select 字段列表 from 表名 limit 查询起始索引,查询条目数;

在 limit 关键字中,查询起始索引这个参数是从0开始的。

5.2 分页查询练习

我们使用前言中的案例进行分页查询练习:

从0开始查询,查询3条数据:

select * from stu limit 0,3;

在这里插入图片描述起始索引 = (当前页码 - 1) * 每页显示的条数

推荐学习:mysql视频教程

以上就是MySQL单表查询进阶总结的详细内容,更多请关注其它相关文章!


# 字段名  # 珠海微网站建设  # 泰州网站的优化让  # 网站建设项目进度汇报  # 上蔡外贸推广员招聘网站  # 大石桥微信营销推广  # 什么是se和seo  # 寻找泉州seo方案  # 轮胎网站建设注意  # 悟空网站优化  # 龙江卫浴网站建设  # mysql  # 多个  # 几个  # 升序  # 运算符  # 进阶  # 镜像  # 插入图片  # 分页  # 在这里 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: 支付宝网页版在线入口 支付宝官网电脑登录入口  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  邦丰播放器频道搜索设置  顺丰速运官网查询入口 顺丰物流查询官网入口链接  江苏大剧院会员卡购买步骤  J*a中为什么强调组合优于继承_组合模式带来的灵活性与可维护性解析  Python自动化抓取GBGB赛狗比赛结果:日期范围与赛道筛选教程  如何在CSS中使用过渡制作按钮边框渐变_border-color transition实现  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  热血江湖归来医师加点攻略  海棠阅读网页版_进入海棠网页版在线阅读中心  macosmonterey系统外接显示器驱动怎么安装_macosmonterey外接显示器驱动与分辨率调整  狙击外星人小游戏在线链接_狙击外星人小游戏网页链接  搜狗浏览器如何查找页面中的文字 搜狗浏览器Ctrl+F页面搜索功能  《知到》打卡课程方法  解决J*aScript动态图片上传中ID重复问题:在同一页面显示多张独立图片  163邮箱网页版官方登录入口 163邮箱网页版访问页面  byrutor直接访问入口 byrutor官方游戏库  todesk如何添加信任设备_todesk信任设备设置教程  vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足  原子笔记app误删找回教程  向日葵客户端怎么进行语音通话_向日葵客户端语音通话功能使用方法  使用AI在VS Code中将代码从一种语言翻译成另一种  Yandex无需登录畅游 俄罗斯搜索引擎最新官网指南  PPT智能排版生成入口 免费PPT内容自动生成平台  漫蛙漫画直连入口 _ manwa官方备用入口实时检测  实时数据流中高效查找最小值与最大值  解决VS Code中Python版本冲突与输出异常的指南  b站如何管理订阅_b站订阅标签分类管理  《合金装备4》有望推出重制版!制作人发话了  Microsoft Edge网页字体太淡看不清怎么办_Microsoft Edge字体渲染优化技巧  解决jQuery多计算器输入字段冲突的教程  VB表达式书写规则解析  C++如何使用CMake构建项目_C++ CMakeLists.txt编写入门教程  iPhone 15 Pro如何查看存储空间占用_iPhone 15 Pro存储空间查看教程  win11怎么更改账户类型 Win11标准用户和管理员权限切换【教程】  12306APP选座怎么选充电位置_12306APP带充电插座座位选择方法与技巧  优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南  《淘票票》添加到苹果钱包教程  Python中对象引用与链表属性赋值的机制解析  如何使用 Optional 类型并满足 Pylint 的类型检查  铁路12306买票怎么选双人铺 铁路12306卧铺分配规则说明  iPhone16Plus参数配置如何调整声音_iPhone16Plus参数配置声音调整详细方法  Win10显卡驱动安装失败怎么办 Win10使用DDU彻底卸载驱动【解决】  抖音号升级企业号怎么改名字?升级企业号有哪些好处?  《植物大战僵尸3》火龙草作用介绍  优化CSS动画与J*aScript定时器协同:构建稳定Toast提示  圆通快递官网入口查询单号 手机版官方查询入口  铁拳8在线玩 铁拳8在线秒玩入口  鸿蒙单条备忘录如何加密 

 2022-12-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.