在 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 查询中,您可以看到多种从表中选择多个值的方法。 可以根据您的需要和所需的数据输出来选择其中的任何一个。
相关文章
使用 Mysqldump 备份 MySQL 中的数据
发布时间:2023/05/09 浏览次数:192 分类:MySQL
-
本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。
更新 MySQL 表中的主键
发布时间:2023/05/09 浏览次数:61 分类:MySQL
-
本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。
在 MySQL 中获取命令历史记录
发布时间:2023/05/09 浏览次数:150 分类:MySQL
-
本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史
Oracle 的 decode 函数在 MySQL 中的等价物
发布时间:2023/05/09 浏览次数:115 分类:MySQL
-
本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。
使用 Ubuntu 连接远程 MySQL 服务器的不同方法
发布时间:2023/05/09 浏览次数:97 分类:MySQL
-
在本文中我们将学习如何使用 Ubuntu 连接远程 MySQL 服务器来操作数据以及启动和停止 MySQL 服务器。
在 Linux 中安装 MySQL 客户端
发布时间:2023/05/09 浏览次数:72 分类:MySQL
-
在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。
在 MySQL 中转换为十进制
发布时间:2023/05/09 浏览次数:150 分类:MySQL
-
有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。
在 MySQL 中获取当前日期和时间
发布时间:2023/05/09 浏览次数:145 分类:MySQL
-
本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间
更改 MySQL 服务器中的 max_allowed_packet Size
发布时间:2023/05/09 浏览次数:142 分类:MySQL
-
本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。