news 2026/5/20 22:57:04

SQL查询进阶:WHERE条件、ORDER BY排序、LIMIT分页,新手必练

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SQL查询进阶:WHERE条件、ORDER BY排序、LIMIT分页,新手必练

前言

基础查询(SELECT * FROM 表)只能查全表数据,实际开发中,我们需要「筛选特定数据」「按规则排序」「分页展示」,这就需要用到 WHERE、ORDER BY、LIMIT 三个核心关键字。

本篇用前面创建的user表,结合实操示例,讲透三个关键字的用法、组合使用技巧,新手跟着练,就能掌握进阶查询能力。

先插入测试数据(确保示例可运行):

INSERT INTO user (name, age, gender, email) VALUES ('张三', 20, 1, 'zhangsan@163.com'), ('李四', 22, 1, 'lisi@163.com'), ('王五', 19, 2, 'wangwu@163.com'), ('赵六', 21, 1, 'zhaoliu@163.com'), ('孙七', 23, 2, 'sunqi@163.com'), ('周八', 20, 1, 'zhouba@163.com');

一、WHERE条件筛选:查你想要的数据

WHERE 用于指定查询条件,只返回符合条件的数据,是查询中最常用的关键字,支持多种条件匹配。

1. 等于/不等于(= / != / <>)

-- 1. 查性别为男(gender=1)的用户 SELECT name, age FROM user WHERE gender = 1; -- 2. 查年龄不等于20的用户(两种写法都可以) SELECT name, age FROM user WHERE age != 20; SELECT name, age FROM user WHERE age <> 20;

2. 范围查询(> / < / >= / <= / BETWEEN ... AND ...)

-- 1. 查年龄大于20的用户 SELECT name, age FROM user WHERE age > 20; -- 2. 查年龄在19~22之间的用户(包含19和22) SELECT name, age FROM user WHERE age BETWEEN 19 AND 22; -- 等价于:WHERE age >= 19 AND age <= 22

3. 模糊查询(LIKE)

用于匹配包含特定字符的数据,搭配通配符使用:

- %:匹配任意0个或多个字符;

- _:匹配任意1个字符。

-- 1. 查名字包含“张”的用户 SELECT name FROM user WHERE name LIKE '%张%'; -- 2. 查名字以“李”开头的用户 SELECT name FROM user WHERE name LIKE '李%'; -- 3. 查名字长度为2,且第二个字是“三”的用户 SELECT name FROM user WHERE name LIKE '_三';

4. 多条件筛选(AND / OR)

-- 1. 查性别为男,且年龄>20的用户(AND:同时满足) SELECT name, age FROM user WHERE gender = 1 AND age > 20; -- 2. 查性别为女,或年龄=20的用户(OR:满足一个即可) SELECT name, age FROM user WHERE gender = 2 OR age = 20;

5. 空值/非空值查询(IS NULL / IS NOT NULL)

-- 1. 查年龄为空的用户 SELECT name FROM user WHERE age IS NULL; -- 2. 查邮箱不为空的用户 SELECT name, email FROM user WHERE email IS NOT NULL;

二、ORDER BY排序:按规则整理数据

ORDER BY 用于对查询结果进行排序,默认是「升序(ASC)」,可指定「降序(DESC)」,支持多字段排序。

1. 单字段排序

-- 1. 按年龄升序排序(从小到大,ASC可省略) SELECT name, age FROM user ORDER BY age; -- 等价于:ORDER BY age ASC -- 2. 按年龄降序排序(从大到小) SELECT name, age FROM user ORDER BY age DESC;

2. 多字段排序

先按第一个字段排序,第一个字段值相同时,按第二个字段排序。

-- 先按性别升序,性别相同的按年龄降序 SELECT name, gender, age FROM user ORDER BY gender ASC, age DESC;

三、LIMIT分页:控制查询结果数量

LIMIT 用于限制查询结果的条数,常用于分页展示(如页面只显示10条数据),语法:LIMIT 起始索引, 条数(起始索引从0开始)。

1. 基础用法:限制结果条数

-- 查前3条用户数据(起始索引0,可省略) SELECT name, age FROM user LIMIT 3; -- 等价于:LIMIT 0, 3

2. 分页用法:指定起始索引

-- 第1页:显示前3条(索引0-2) SELECT name, age FROM user LIMIT 0, 3; -- 第2页:显示第4-6条(索引3-5) SELECT name, age FROM user LIMIT 3, 3; -- 规律:第n页,起始索引 = (n-1) * 每页条数

四、组合使用:WHERE + ORDER BY + LIMIT(实战常用)

实际开发中,三者经常组合使用,先筛选、再排序、最后分页。

-- 需求:查性别为男,年龄>19的用户,按年龄降序,显示前2条 SELECT name, age FROM user WHERE gender = 1 AND age > 19 ORDER BY age DESC LIMIT 2;

五、进阶查询避坑

❌ 错误:WHERE 条件写在 ORDER BY 后面(语法错误,WHERE必须在ORDER BY之前);

❌ 错误:LIMIT 起始索引写反(正确语法:LIMIT 起始索引, 条数);

✅ 正确:组合顺序固定:SELECT → FROM → WHERE → ORDER BY → LIMIT。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/18 12:09:26

Windows 11终极优化指南:免费开源工具让系统重获新生

Windows 11终极优化指南&#xff1a;免费开源工具让系统重获新生 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and cus…

作者头像 李华
网站建设 2026/5/18 12:07:51

PyCharm集成Comate:从安装到实战编码效率提升指南

1. Comate为何成为PyCharm开发者的效率神器 第一次听说Comate是在去年参加技术沙龙时&#xff0c;隔壁团队的架构师老张神秘兮兮地跟我说&#xff1a;"现在写Python代码都不用自己动手了&#xff0c;有个AI助手能猜出你要写什么。"当时我还以为他在开玩笑&#xff0c…

作者头像 李华
网站建设 2026/5/18 12:05:03

OpenClaw-bot-review:基于AI的GitHub自动化代码审查机器人实战指南

1. 项目概述与核心价值 最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“OpenClaw-bot-review”。光看这个名字&#xff0c;你可能会有点摸不着头脑&#xff0c;这到底是个啥&#xff1f;是机器人&#xff1f;是爬虫&#xff1f;还是个代码审查工具&#xff1f;作为一个…

作者头像 李华
网站建设 2026/5/18 12:03:05

Django 中间件请求流程追踪实验报告

一、实验目的本实验旨在通过自定义 Django 中间件&#xff0c;深入理解 Django 请求处理流程中中间件的工作机制。具体实验目标包括&#xff1a;掌握自定义 Django 中间件的实现方法&#xff0c;重写 process_request、process_view、process_exception 和 process_response 四…

作者头像 李华
网站建设 2026/5/18 12:03:04

Musio:一个越用越懂你的 Agent

Musio&#xff1a;一个越用越懂你的 Agent 很多音乐产品都能播放歌曲&#xff0c;也能搜索歌名、查看歌词、收藏歌单。但当我们真正听音乐时&#xff0c;需求往往不是一个个孤立按钮&#xff0c;而是一连串自然的想法&#xff1a; 给我推荐几首适合深夜写代码听的歌。 看看这首…

作者头像 李华
网站建设 2026/5/18 12:03:01

城市基础设施安全监测|黎阳之光赋能燃气、供水、热力管网智慧监管

城市燃气、供水、热力管网&#xff0c;是维系城市正常运转的“生命线”&#xff0c;更是守护千家万户安全的重要屏障。但随着城市化进程加快&#xff0c;管网老化腐蚀、第三方施工破坏、隐患隐蔽难发现等问题日益突出&#xff0c;传统人工巡检模式效率低、预警滞后&#xff0c;…

作者头像 李华