Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 

BETWEEN 조건식

설명

BETWEEN 조건식은 왼쪽의 데이터 값이 오른쪽에 지정된 두 데이터 값 사이에 존재하는지 비교한다. 이때, 왼쪽의 데이터 값이 비교 대상 범위의 경계값과 동일한 경우에도 TRUE를 반환한다. 한편, BETWEEN 키워드 앞에 NOT이 오면 BETWEEN 연산의 결과에 NOT 연산을 수행하여 결과를 반환한다.

i BETWEEN g AND m은 복합 조건식 i >= g AND i <= m과 동일하다.

구문

expression [ NOT ] BETWEEN expression AND expression

  • expression : 칼럼 이름, 경로 표현식(예: tbl_name.col_name), 상수 값, 산술 표현식, 집계 함수가 될 수 있다. 문자열 표현식인 경우에는 문자의 사전순으로 조건이 평가된다. 표현식 중 하나라도 NULL이 지정되면 BETWEEN 조건식의 결과는 FALSE 또는 UNKNOWN을 반환한다.
예제

--selecting rows where 3000000 <= salary <= 4000000

SELECT * FROM condition_tbl WHERE salary BETWEEN 3000000 AND 4000000;

SELECT * FROM condition_tbl WHERE (salary >= 3000000) AND (salary <= 4000000);

           id  name                  dept_name                  salary

======================================================================

            1  'Kim       '          'devel'                   4000000

            2  'Moy       '          'sales'                   3000000

            5  'Kim       '          'account'                 3800000

 

--selecting rows where salary < 3000000 or salary > 4000000

SELECT * FROM condition_tbl WHERE salary NOT BETWEEN 3000000 AND 4000000;

           id  name                  dept_name                  salary

======================================================================

            3  'Jones     '          'sales'                   5400000

            4  'Smith     '          'devel'                   5500000

            6  'Smith     '          'devel'                   2400000

 

--selecting rows where name starts from A to E

SELECT * FROM condition_tbl WHERE name BETWEEN 'A' AND 'E';

           id  name                  dept_name                  salary

======================================================================

            7  'Brown     '          'account'                    NULL