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

Mysql高阶语句(1)

一、常用查询

1. 按关键字排序

使用 ORDER BY 语句对查询结果进行排序,可以按照一个或多个字段进行升序(ASC)或降序(DESC)排列

语法

SELECT column1, column2, ... FROM table_name ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

示例 

  • 按分数升序排列:
SELECT id, name, score FROM info ORDER BY score;

 

  • 按分数降序排列:
SELECT id, name, score FROM info ORDER BY score DESC;

  • 多字段排序:先按 hobbid 降序排列,相同 hobbid 的记录按 id 升序排列:
SELECT id, name, hobbid FROM info ORDER BY hobbid DESC, id ASC;
2. 区间判断及查询不重复记录

使用 ANDOR 进行条件组合,还可以使用 DISTINCT 去除查询结果中的重复记录。

示例:

  • 查询分数在70-90之间的记录:
SELECT * FROM info WHERE score > 70 AND score <= 90;

  • 查询分数大于70或者小于等于90的记录:
SELECT * FROM info WHERE score > 70 OR score <= 90;

  • 查询不重复的hobbid值:
SELECT DISTINCT hobbid FROM info;

3、对结果进行分组

GROUP BY 语句用于对查询结果进行分组,通常结合聚合函数(如 COUNTSUMAVGMAXMIN)使用

语法:

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column_name;

示例:

  • hobbid 分组,并计算每组学生人数:
SELECT COUNT(name), hobbid FROM info GROUP BY hobbid;

  • 筛选分数大于等于 80 的学生,并按 hobbid 分组计算人数:
SELECT COUNT(name), hobbid FROM info WHERE score >= 80 GROUP BY hobbid;

4、限制结果条目

LIMIT 语句用于限制查询结果的条目数。

语法:

SELECT column1, column2, ... FROM table_name LIMIT [offset,] number;

示例:

  • 查询前三行记录:
SELECT * FROM info LIMIT 3;

 

  • 查询第四行开始的三行记录:
SELECT * FROM info LIMIT 3, 3;

 

  • id 降序排列并显示最后 3 行:
SELECT id, name FROM info ORDER BY id DESC LIMIT 3;

5、设置别名’Alisa‘

AS 关键字用于给表或字段设置别名,简化查询语句,增强可读性。

语法:

  • 对列设置别名:
SELECT column_name AS alias_name FROM table_name;
  • 对表设置别名:
SELECT alias.column_name FROM table_name AS alias;

示例:

  • namescore 列设置别名:
SELECT name AS 姓名, score AS 成绩 FROM info;

 

6、通配符

通配符用于替换字符串中的部分字符,常与 LIKE 子句配合使用。

常用通配符:

  • %:匹配零个、一个或多个字符。
  • _:匹配单个字符。

示例:

  • 查询名字以 c 开头的记录
SELECT id, name FROM info WHERE name LIKE 'c%';

  • 查询名字中间有 g 字符的记录:
SELECT id, name FROM info WHERE name LIKE '%g%';

7、子查询

子查询是指在一个查询语句中嵌套另一个查询语句,子查询的结果作为条件传递给主查询。

示例:

  • 查询分数大于 80 的学生信息:
SELECT name, score FROM info WHERE id IN (SELECT id FROM info WHERE score > 80);

  • 多表查询示例:
SELECT id, name, score FROM info WHERE id IN (SELECT id FROM ky30);

总结

以上为 MySQL 常用的高阶查询语句整理。通过合理使用排序、分组、子查询、通配符等高级查询技巧,可以高效处理和分析数据库中的数据。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python教程:使用 Python 和 PyHive 连接 Hive 数据库
  • HALCON 错误代码 #7709
  • 缓存分布式一致性问题
  • Golang 小项目(3)
  • 【重学 MySQL】六、MySQL 的下载、安装、配置
  • npm、yarn、pnpm小节
  • css三点闪烁(可用于加载样式、标题等)
  • AWS EC2安全组配置:轻松开放端口访问
  • DataX导入或导出hive数据
  • 小程序使用iconfont字体图标
  • 注册安全分析报告:央视网
  • 【系统架构设计师-2021年】综合知识-答案及详解
  • 蓝桥杯备赛day01:循环
  • UDP广播、 组播通信
  • c++ 156函数
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Git初体验
  • iOS小技巧之UIImagePickerController实现头像选择
  • Linux后台研发超实用命令总结
  • SAP云平台里Global Account和Sub Account的关系
  • vue中实现单选
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 给初学者:JavaScript 中数组操作注意点
  • 和 || 运算
  • 基于Android乐音识别(2)
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 看域名解析域名安全对SEO的影响
  • 区块链共识机制优缺点对比都是什么
  • 设计模式(12)迭代器模式(讲解+应用)
  • 微信小程序填坑清单
  • 为视图添加丝滑的水波纹
  • 异步
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​linux启动进程的方式
  • ![CDATA[ ]] 是什么东东
  • #window11设置系统变量#
  • $LayoutParams cannot be cast to android.widget.RelativeLayout$LayoutParams
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (C++20) consteval立即函数
  • (javaweb)Http协议
  • (windows2012共享文件夹和防火墙设置
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (超详细)语音信号处理之特征提取
  • (二)斐波那契Fabonacci函数
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (蓝桥杯每日一题)love
  • (六)Flink 窗口计算
  • (面试必看!)锁策略
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (转)大道至简,职场上做人做事做管理
  • .NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别
  • .NET/C# 使窗口永不获得焦点
  • .NET框架