参考资料

  1. MySQL 处理重复数据详细说明以及案例
  2. MySQL ORDER BY(排序) 语句详细说明以及案例
  3. MySQL 命令详细说明以及案例
  4. MySQL 创建数据库
  5. MySQL 函数详细说明以及案例
  6. MySQL 元数据详细说明以及案例
  7. MySQL UNION 操作符详细说明以及案例
  8. MySQL DELETE 语句详细说明以及案例

MySQL WHERE 子句详细说明以及案例

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 子句,可以灵活地过滤数据,满足不同的查询需求。