MySQL选择IN范围?

您不能选择IN范围。对于相同的结果,请使用BETWEEN。让我们看一个例子-

IN(start,end):表示开始和结束之间的中间值将不会显示。对于上述逻辑,可以使用BETWEEN。

BETWEEN子句包含在内,例如,假设有1,2,3,4,5,6个数字。如果要显示2到6之间的数字(包括2到6),则使用BETWEEN数字2和6也将显示出来。

让我们创建一个表-

mysql> create table SelectInWithBetweenDemo
   -> (
   -> PortalId int
   -> );

在批处理插入的帮助下插入一些记录。查询如下-

mysql> insert into SelectInWithBetweenDemo values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15);
Records: 15 Duplicates: 0 Warnings: 0

在select语句的帮助下显示所有记录。查询如下-

mysql> select *from SelectInWithBetweenDemo;

这是输出-

+----------+
| PortalId |
+----------+
|        1 |
|        2 |
|        3 |
|        4 |
|        5 |
|        6 |
|        7 |
|        8 |
|        9 |
|       10 |
|       11 |
|       12 |
|       13 |
|       14 |
|       15 |
+----------+
15 rows in set (0.00 sec)

现在让我们检查选择输入范围。查询如下-

mysql> select PortalId from SelectInWithBetweenDemo where PortalId IN(4,10);

以下是输出-

+----------+
| PortalId |
+----------+
|        4 |
|       10 |
+----------+
2 rows in set (0.00 sec)

看上面的输出,我们只得到4和10,而我们想要的值是4,5,6,7,8,9,10。

现在,我们将使用BETWEEN子句。它将包含包含结果的结果。

查询如下-

mysql> select PortalId from SelectInWithBetweenDemo where PortalId Between 4 and 10;

以下是输出-

+----------+
| PortalId |
+----------+
|        4 |
|        5 |
|        6 |
|        7 |
|        8 |
|        9 |
|       10 |
+----------+
7 rows in set (0.09 sec)

假设您要使用专有属性,则可以使用>和<。查询如下-

mysql> select PortalId from SelectInWithBetweenDemo where PortalId > 4 and PortalId < 10;

这是输出-

+----------+
| PortalId |
+----------+
|        5 |
|        6 |
|        7 |
|        8 |
|        9 |
+----------+
5 rows in set (0.00 sec)