Computer >> Máy Tính >  >> Lập trình >> MySQL

MySQL Chọn phạm vi IN?

Bạn không thể chọn phạm vi IN. Để có kết quả tương tự, hãy sử dụng BETWEEN. Hãy để chúng tôi xem một ví dụ -

IN (bắt đầu, kết thúc):Có nghĩa là giá trị trung gian giữa bắt đầu và kết thúc sẽ không được hiển thị. Đối với logic trên, bạn có thể sử dụng GIỮA.

Mệnh đề BETWEEN là bao hàm, ví dụ, giả sử có 1,2,3,4,5,6 số. Nếu bạn muốn hiển thị toàn bộ các số từ 2 đến 6, thì việc sử dụng GIỮA các số 2 và 6 cũng sẽ được hiển thị.

Hãy để chúng tôi tạo một bảng -

mysql> create table SelectInWithBetweenDemo
   -> (
   -> PortalId int
   -> );
Query OK, 0 rows affected (0.77 sec)

Chèn một số bản ghi với sự trợ giúp của chèn hàng loạt. Truy vấn như sau -

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

Hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh select. Truy vấn như sau -

mysql> select *from SelectInWithBetweenDemo;

Đây là kết quả -

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

Bây giờ chúng ta hãy kiểm tra phạm vi IN đã chọn. Truy vấn như sau -

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

Sau đây là kết quả -

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

Nhìn vào kết quả đầu ra ở trên, chúng ta chỉ nhận được 4 và 10, trong khi chúng ta muốn giá trị 4,5,6,7,8,9,10.

Bây giờ chúng ta sẽ sử dụng mệnh đề BETWEEN. Nó sẽ cho kết quả như chúng ta muốn với việc bao gồm.

Truy vấn như sau -

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

Sau đây là kết quả -

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

Giả sử nếu bạn muốn thuộc tính độc quyền thì bạn có thể sử dụng> và <. Truy vấn như sau -

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

Đây là kết quả -

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