我们可以用 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)
广告