先用WHERE筛选数据,再用ORDER BY排序。WHERE通过比较和逻辑运算符过滤记录,ORDER BY按指定字段升序(ASC)或降序(DESC)排列,可多字段排序,二者结合实现高效查询控制。

在 SQL 的 SELECT 查询中,条件过滤和排序通常通过 WHERE 子句和 ORDER BY 子句结合实现。WHERE 用于筛选满足条件的记录,ORDER BY 用于对结果进行升序或降序排列。
使用 WHERE 进行条件过滤
WHERE 子句用来指定查询的条件,只有满足条件的行才会被返回。
- 可以使用比较运算符(=, , >, =,
- 支持逻辑运算符(AND, OR, NOT)组合多个条件
- 可配合 IN、BETWEEN、LIKE 等操作符使用
使用 ORDER BY 实现排序
ORDER BY 子句位于 WHERE 之后,用于对查询结果排序。
- 默认按升序(ASC)排列,可显式写 ASC 或省略
- 降序使用 DESC 关键字
- 可按单个或多个字段排序,字段间用逗号分隔
条件过滤与排序结合示例
假设有一个订单表 orders,包含 order_id、customer_id、amount 和 order_date 字段:
查询客户 ID 为 100 的订单中金额大于 500 的记录,并按金额降序排列:
SELECT * FROM orders WHERE customer_id = 100 AND amount > 500 ORDER BY amount DESC;
若需先按客户 ID 排序,再按日期倒序:
SELECT * FROM orders WHERE amount BETWEEN 100 AND 1000 ORDER BY customer_id, order_date DESC;
基本上就这些。只要记住:先用 WHERE 筛数据,再用 ORDER BY 排顺序,语法结构清晰,组合灵活。不复杂但容易忽略执行顺序。










