温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

WHERE子句如何过滤数据

发布时间:2026-10-07 02:22:21 来源:亿速云 阅读:99 作者:小樊 栏目:数据库

在 SQL 中,WHERE 子句用于从表中选择满足指定条件的行,从而实现数据过滤。它通常与 SELECT、UPDATE、DELETE 等语句一起使用。


一、基本语法

SELECT 列名
FROM 表名
WHERE 条件;

只有条件为 TRUE 的记录才会被返回。


二、常见过滤方式

1. 比较运算

SELECT * FROM employees
WHERE age > 30;

常用运算符:

  • = 等于
  • <> 或 != 不等于
  • > < >= <=

2. 多条件过滤(AND / OR)

SELECT * FROM employees
WHERE department = 'IT'
AND salary > 8000;
SELECT * FROM employees
WHERE department = 'IT'
OR department = 'HR';

3. 范围过滤(BETWEEN)

SELECT * FROM products
WHERE price BETWEEN 100 AND 500;

4. 集合过滤(IN)

SELECT * FROM employees
WHERE department IN ('IT', 'HR', 'Finance');

5. 模糊匹配(LIKE)

SELECT * FROM customers
WHERE name LIKE '张%';
  • %:任意字符(多个)
  • _:任意一个字符

6. 空值过滤(IS NULL)

SELECT * FROM orders
WHERE ship_date IS NULL;

7. 逻辑取反(NOT)

SELECT * FROM employees
WHERE NOT department = 'IT';

三、WHERE 执行顺序(逻辑上)

  1. FROM(取表)
  2. WHERE(过滤行)
  3. GROUP BY
  4. HAVING
  5. SELECT
  6. ORDER BY

⚠️ WHERE 不能直接用聚合函数(如 COUNT()、SUM()),需用 HAVING。


四、示例综合

SELECT name, salary
FROM employees
WHERE department = 'IT'
  AND salary BETWEEN 8000 AND 15000
  AND name LIKE '李%';

如果你有具体数据库(MySQL / Oracle / SQL Server)或具体业务场景,我可以给你更针对性的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手