MySQL WHERE 子句详细说明

WHERE 子句用于过滤记录,只返回满足指定条件的记录。它通常与 SELECTUPDATEDELETE 等语句一起使用。

语法

SELECT column1, column2, ...
FROM table_name
WHERE condition;

常用运算符

  1. 比较运算符

    • =:等于

    • <>!=:不等于

    • >:大于

    • <:小于

    • >=:大于等于

    • <=:小于等于

  2. 逻辑运算符

    • AND:多个条件同时满足

    • OR:多个条件满足其一

    • NOT:条件不满足

  3. 其他运算符

    • BETWEEN:在某个范围内

    • LIKE:模糊匹配

    • IN:在某个集合中

    • IS NULL:判断是否为空


案例

1. 基本查询

SELECT * FROM employees WHERE salary > 5000;
  • 查询 employees 表中 salary 大于 5000 的记录。

2. 使用 ANDOR

SELECT * FROM employees WHERE department = 'Sales' AND salary > 6000;
  • 查询 employees 表中 departmentSalessalary 大于 6000 的记录。

SELECT * FROM employees WHERE department = 'Sales' OR department = 'HR';
  • 查询 employees 表中 departmentSalesHR 的记录。

3. 使用 BETWEEN

SELECT * FROM employees WHERE salary BETWEEN 5000 AND 10000;
  • 查询 employees 表中 salary 在 5000 到 10000 之间的记录。

4. 使用 LIKE

SELECT * FROM employees WHERE name LIKE 'J%';
  • 查询 employees 表中 nameJ 开头的记录。

5. 使用 IN

SELECT * FROM employees WHERE department IN ('Sales', 'HR', 'IT');
  • 查询 employees 表中 departmentSalesHRIT 的记录。

6. 使用 IS NULL

SELECT * FROM employees WHERE manager_id IS NULL;
  • 查询 employees 表中 manager_id 为空的记录。

7. 使用 NOT

SELECT * FROM employees WHERE NOT department = 'Sales';
  • 查询 employees 表中 department 不是 Sales 的记录。


通过 WHERE 子句,可以灵活地过滤数据,满足不同的查询需求。

本篇文章内容来源于:MySQL WHERE 子句详细说明以及案例