Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 선택 범위는?

<시간/>

IN 범위를 선택할 수 없습니다. 동일한 결과를 얻으려면 BETWEEN을 사용하십시오. 예를 들어 보겠습니다 -

IN(start,end):시작과 끝 사이의 중간 값이 표시되지 않음을 의미합니다. 위의 논리에는 BETWEEN을 사용할 수 있습니다.

BETWEEN 절은 포괄적입니다. 예를 들어 1,2,3,4,5,6 숫자가 있다고 가정합니다. 2에서 6까지의 숫자를 표시하려면 BETWEEN을 사용하면 숫자 2와 6도 표시됩니다.

테이블을 만들어 봅시다 -

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

일괄 삽입을 사용하여 일부 레코드를 삽입합니다. 쿼리는 다음과 같습니다 -

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

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)

이제 선택 IN 범위를 확인하겠습니다. 쿼리는 다음과 같습니다 -

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)