MySQL 条件查询 WHERE子句

在 MySQL 中,使用 SELECT 语句可以查询表中的数据,其中可以通过 WHERE 子句指定查询条件,以返回满足条件的数据。下面是 WHERE 子句的语法格式:

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

其中,column1, column2, … 表示要查询的列名,可以使用 * 表示查询所有列;table_name 表示要查询的表名;condition 表示查询条件,可以包含比较运算符、逻辑运算符、通配符等。

下面是一些常用的查询条件示例:

比较运算符:

SELECT * FROM employees
WHERE salary > 5000;

查询 employees 表中 salary 大于 5000 的记录。

逻辑运算符:

SELECT * FROM employees
WHERE age > 25 AND gender = 'male';

查询 employees 表中 age 大于 25 并且 gender 为男性的记录。

通配符:

SELECT * FROM employees
WHERE first_name LIKE 'J%';

查询 employees 表中 first_name 以 J 开头的记录。

除了上面的查询条件之外,WHERE 子句还支持其他一些查询条件,例如:

BETWEEN:查询某个范围内的值;
IN:查询某个列表中的值;
IS NULL 和 IS NOT NULL:查询空值和非空值;
EXISTS 和 NOT EXISTS:判断某个子查询是否存在结果。
需要注意的是,如果查询条件中包含字符串,需要使用单引号将字符串括起来。

下面是一个简单的示例,演示了如何使用 WHERE 子句查询符合条件的数据:

-- 创建一个测试表
CREATE TABLE employees (
  id INT PRIMARY KEY,
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  age INT,
  gender VARCHAR(10),
  salary FLOAT
);

— 插入一些测试数据

INSERT INTO employees VALUES (1, 'John', 'Doe', 30, 'male', 6000);
INSERT INTO employees VALUES (2, 'Jane', 'Doe', 25, 'female', 5000);
INSERT INTO employees VALUES (3, 'Bob', 'Smith', 35, 'male', 7000);
INSERT INTO employees VALUES (4, 'Alice', 'Jones', 28, 'female', 5500);
INSERT INTO employees VALUES (5, 'Tom', 'Brown', 40, 'male', 8000);

— 查询年龄大于 30 岁的员工

SELECT * FROM employees
WHERE age > 30;