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 教程
极客教程