如何在 MySQL 表中选择特定范围的值?
mysqlmysqli database更新于 2023/11/26 20:09:00
为了在 MySQL 表中选择特定范围的值,您可以使用 WHERE 子句。让我们首先创建一个表:
mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, CustomerName varchar(200), CustomerAge int, isRegularCustomer bool ); Query OK, 0 rows affected (0.57 sec)
下面是使用 insert 命令在表中插入一些记录的查询:
mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Chris',24,true); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Robert',26,false); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Mike',27,false); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Larry',22,true); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Sam',30,true); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable(CustomerName,CustomerAge,isRegularCustomer)values('Carol',26,true); Query OK, 1 row affected (0.16 sec)
以下是使用 select 命令显示表中记录的查询:
mysql> select *from DemoTable;
这将产生以下输出:
+------------+--------------+-------------+-------------------+ | CustomerId | CustomerName | CustomerAge | isRegularCustomer | +------------+--------------+-------------+-------------------+ | 1 | Chris | 24 | 1 | | 2 | Robert | 26 | 0 | | 3 | Mike | 27 | 0 | | 4 | Larry | 22 | 1 | | 5 | Sam | 30 | 1 | | 6 | Carol | 26 | 1 | +------------+--------------+-------------+-------------------+ 6 rows in set (0.00 sec)
以下是在 MySQL 表中选择特定范围值的查询。在这里,我们选择年龄大于等于 24 岁且小于等于 27 岁的客户记录。此外,客户应该是常客,即在"isRegularCustomer"列下有 1 个值:
mysql> select CustomerId,CustomerName,CustomerAge,isRegularCustomer from DemoTable where isRegularCustomer=true AND CustomerAge >=24 AND CustomerAge <= 27;
这将产生以下输出 −
+------------+--------------+-------------+-------------------+ | CustomerId | CustomerName | CustomerAge | isRegularCustomer | +------------+--------------+-------------+-------------------+ | 1 | Chris | 24 | 1 | | 6 | Carol | 26 | 1 | +------------+--------------+-------------+-------------------+ 2 rows in set (0.00 sec)