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 | 

IN 조건식

설명

IN 조건식은 왼쪽의 단일 데이터 값이 오른쪽에 지정된 리스트 내에 포함되어 있는지 비교한다. 즉, 왼쪽의 단일 데이터 값이 오른쪽에 지정된 표현식의 원소이면 TRUE를 반환한다. IN 키워드 앞에 NOT이 있으면 IN 연산의 결과에 NOT 연산을 수행하여 결과를 반환한다.

구문

expression [ NOT ] IN expression

  • expression (left) : 단일 값을 가지는 칼럼, 경로 표현식, 상수 값 또는 단일 값을 생성하는 산술 함수가 될 수 있다.
  • expression (right) : 칼럼 이름, 경로 표현식(예: tbl_name.col_name), 상수 값의 리스트(집합), 부질의가 될 수 있다. 리스트는 소괄호(()) 또는 중괄호({}) 안에 표현된 집합을 의미하며, 부질의가 사용되면 부질의의 수행 결과 전부에 대해서 expression (left)와 비교 연산을 수행한다.
예제

--selecting rows where department is sales or devel

SELECT * FROM condition_tbl WHERE dept_name IN {'devel','sales'};

SELECT * FROM condition_tbl WHERE dept_name = ANY{'devel','sales'};

           id  name                  dept_name                  salary

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

            1  'Kim       '          'devel'                   4000000

            2  'Moy       '          'sales'                   3000000

            3  'Jones     '          'sales'                   5400000

            4  'Smith     '          'devel'                   5500000

            6  'Smith     '          'devel'                   2400000

 

--selecting rows where department is neither sales nor devel

SELECT * FROM condition_tbl WHERE dept_name NOT IN {'devel','sales'};

           id  name                  dept_name                  salary

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

            5  'Kim       '          'account'                 3800000

            7  'Brown     '          'account'                    NULL