迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

在 MySQL 中使用 WHERE 选择多个值

作者:迹忆客 最近更新:2023/05/07 浏览次数:

本文是关于使用 MySQL 查询从特定表或关系中获取满足特定条件的数据。 为此,在 SQL 查询中使用 WHERE 子句。


SQL 查询中的 WHERE 子句

WHERE 子句指定从单个表中检索数据或连接多个表的条件。 如果满足提供的条件,则查询从表中返回相应的值。

您可以使用 WHERE 子句来限制记录,只获取需要的记录。

WHERE 子句不仅用于 SELECT 语句,还用于 UPDATEDELETE 和其他语句。

WHERE 子句的语法

在 SQL 中,以下语法用于 WHERE 子句以根据特定条件过滤记录。

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

可以使用不同的关系(<、>、<=、>=、==、!=)或逻辑(AND、OR、NOT)运算符来创建条件。

假设我们有一个 Employees 表,它保存了一个组织的员工数据。 表数据如下所示:

Employees 表

上表显示了 Employees 表中 6 名员工的数据。 假设我们需要选择年龄大于 40 岁的员工,那么我们将使用以下查询:

SELECT * from Employees
WHERE Emp_Age > 40

输出:

40岁以上员工

请注意 ,我们在 WHERE 子句中使用了关系运算符。 同样,我们可以在 WHERE 子句中使用逻辑和关系运算符。


在 MySQL 中使用 WHERE 子句基于多个条件选择记录

我们还可以根据多个条件从表中过滤记录。 为此,我们可以根据条件使用 AND 和 OR 等逻辑运算符。

例如,我们需要获取 40 岁以下且薪水大于 $3000 的员工的姓名和薪水。 此条件的查询将是:

SELECT Emp_Name, Emp_Salary FROM `Employees`
WHERE Emp_Age < 40 AND Emp_Salary > 3000

此查询的结果将是:

40岁以下薪资3000以上员工

从结果中可以看出,只有满足查询中指定的两个条件的员工才会被选中。 如果我们需要满足任何一个条件,那么我们可以使用 OR 运算符而不是 AND 运算符,如下所示:

SELECT Emp_Name, Emp_Salary FROM `Employees`
WHERE Emp_Age < 40 OR Emp_Salary > 3000

现在结果集将是这样的:

40岁以下或薪资超过3000的员工

您可以看到结果包含的行数比之前的结果多。 这是因为所有员工的年龄都小于 40 岁,或者他们的薪水高于 3000 美元。

使用 IN 运算符也可以获得相同的结果。 IN 运算符与 OR 运算符的工作原理相同,只是查询的结构更好。

SELECT Emp_ID,Emp_Name, Emp_Age FROM `Employees`
WHERE Emp_Name IN ("John","David")

结果集将是这样的:

使用 IN 运算符选择多个值 - 输出

在 SQL 查询中,您可以看到多种从表中选择多个值的方法。 可以根据您的需要和所需的数据输出来选择其中的任何一个。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 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() 的组合。

在 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)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便