我们可以用 MySQL WHERE 子句获取多个值吗?


是的,我们可以获取,但条件使用 MySQL OR。让我们首先创建一个 −

mysql> create table DemoTable1421
   -> (
   -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> EmployeeName varchar(20),
   -> EmployeeSalary int
   -> );
Query OK, 0 rows affected (0.82 sec)

使用 insert 插入一些记录到表中 −

mysql> insert into DemoTable1421(EmployeeName,EmployeeSalary) values('Chris',10000);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1421(EmployeeName,EmployeeSalary) values('Bob',15000);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1421(EmployeeName,EmployeeSalary) values('David',8000);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1421(EmployeeName,EmployeeSalary) values('Carol',8500);
Query OK, 1 row affected (0.39 sec)
mysql> insert into DemoTable1421(EmployeeName,EmployeeSalary) values('Mike',14500);
Query OK, 1 row affected (0.16 sec)

使用 select 从表中显示所有记录 −

mysql> select * from DemoTable1421;

这将产生以下输出 −

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris       |           10000 |
|          2 | Bob         |           15000 |
|          3 | David       |            8000 |
|          4 | Carol       |            8500 |
|          5 | Mike        |           14500 |
+------------+--------------+----------------+
5 rows in set (0.00 sec)

这是使用 OR 获取多个值的查询 −

mysql> select * from DemoTable1421 where EmployeeId=1 OR EmployeeName='David' OR EmployeeSalary=14500;

这将产生以下输出 −

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
|          1 | Chris        |          10000 |
|          3 | David        |           8000 |
|          5 | Mike         |          14500 |
+------------+--------------+----------------+
3 rows in set (0.00 sec)

更新于: 2019 年 11 月 12 日

167 次浏览

开始您的 职业生涯

完成课程获得认证

开始
广告