MySQL WHERE子句中是否可以获取多个值?

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)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程