参考资料

  1. MySQL 函数详细说明以及案例
  2. MySQL 选择数据库详细说明以及案例
  3. MySQL 查询数据详细说明以及案例
  4. MySQL 索引详细说明以及案例
  5. MySQL 事务详细说明以及案例
  6. MySQL 连接的使用详细说明以及案例
  7. MySQL 复制表详细说明以及案例
  8. MySQL 插入数据详细说明以及案例

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