在 MySQL 中使用 WHERE 选择多个值
本文是关于使用 MySQL 查询从特定表或关系中获取满足特定条件的数据。 为此,在 SQL 查询中使用 WHERE 子句。
SQL 查询中的 WHERE 子句
WHERE
子句指定从单个表中检索数据或连接多个表的条件。 如果满足提供的条件,则查询从表中返回相应的值。
您可以使用 WHERE
子句来限制记录,只获取需要的记录。
WHERE
子句不仅用于 SELECT 语句,还用于 UPDATE 、DELETE 和其他语句。
WHERE 子句的语法
在 SQL 中,以下语法用于 WHERE 子句以根据特定条件过滤记录。
SELECT column1, column2, ...
FROM table_name
WHERE [condition];
可以使用不同的关系(<、>、<=、>=、==、!=)或逻辑(AND、OR、NOT)运算符来创建条件。
假设我们有一个 Employees 表,它保存了一个组织的员工数据。 表数据如下所示:
上表显示了 Employees 表中 6 名员工的数据。 假设我们需要选择年龄大于 40 岁的员工,那么我们将使用以下查询:
SELECT * from Employees
WHERE Emp_Age > 40
输出:
请注意
,我们在 WHERE 子句中使用了关系运算符。 同样,我们可以在 WHERE 子句中使用逻辑和关系运算符。
在 MySQL 中使用 WHERE 子句基于多个条件选择记录
我们还可以根据多个条件从表中过滤记录。 为此,我们可以根据条件使用 AND 和 OR 等逻辑运算符。
例如,我们需要获取 40 岁以下且薪水大于 $3000 的员工的姓名和薪水。 此条件的查询将是:
SELECT Emp_Name, Emp_Salary FROM `Employees`
WHERE Emp_Age < 40 AND Emp_Salary > 3000
此查询的结果将是:
从结果中可以看出,只有满足查询中指定的两个条件的员工才会被选中。 如果我们需要满足任何一个条件,那么我们可以使用 OR 运算符而不是 AND 运算符,如下所示:
SELECT Emp_Name, Emp_Salary FROM `Employees`
WHERE Emp_Age < 40 OR Emp_Salary > 3000
现在结果集将是这样的:
您可以看到结果包含的行数比之前的结果多。 这是因为所有员工的年龄都小于 40 岁,或者他们的薪水高于 3000 美元。
使用 IN 运算符也可以获得相同的结果。 IN 运算符与 OR 运算符的工作原理相同,只是查询的结构更好。
SELECT Emp_ID,Emp_Name, Emp_Age FROM `Employees`
WHERE Emp_Name IN ("John","David")
结果集将是这样的:
在 SQL 查询中,您可以看到多种从表中选择多个值的方法。 可以根据您的需要和所需的数据输出来选择其中的任何一个。
相关文章
如何在 MySQL 中声明和使用变量
发布时间:2024/03/26 浏览次数:115 分类:MySQL
-
当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。
在 MySQL 中使用 Mysqladmin 刷新主机解除阻塞
发布时间:2024/03/26 浏览次数:82 分类:MySQL
-
你将了解阻止主机的原因。此外,通过使用 phpMyAdmin 和命令提示符刷新主机缓存来解除阻塞的不同方法和效果。