迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > 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 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 MySQL 中声明和使用变量

发布时间:2024/03/26 浏览次数:115 分类:MySQL

当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

在 MySQL 中实现刷新权限

发布时间:2024/03/26 浏览次数:211 分类:MySQL

本教程介绍了 MySQL 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 MySQL 中设置时区

发布时间:2024/03/26 浏览次数:93 分类:MySQL

在本教程中,我们将学习如何在 MySQL 服务器中更改时区。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便