先用WHERE筛选数据,再用ORDER BY排序。WHERE通过比较和逻辑运算符过滤记录,ORDER BY按指定字段升序(ASC)或降序(DESC)排列,可多字段排序,二者结合实现高效查询控制。
在 SQL 的 SELECT 查询中,条件过滤和排序通常通过 WHERE 子句和 ORDER BY 子句结合实现。WHERE 用于筛选满足条件的记录,ORDER BY 用于对结果进行升序或降序排列。
WHERE 子句用来指定查询的条件,只有满足条件的行才会被返回。
ORDER BY 子句位于 WHERE 之后,用于对查询结果排序。
假设有一个订单表 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 排顺序,语法结构清晰,组合灵活。不复杂但容易忽略执行顺序。