[sql] SQL BETWEEN 연산자를 이용한 범위 외 값 검색

SQL BETWEEN 연산자는 지정된 범위 내에 있는 값을 선택합니다. 그러나 때로는 범위 내에 있는 값이 아닌 값을 선택해야 할 수도 있습니다. 이 글에서는 SQL BETWEEN 연산자를 사용하여 범위 외의 값 검색하는 방법을 설명합니다.

NOT BETWEEN 연산자 사용

SQL BETWEEN 연산자와 반대로 동작하는 NOT BETWEEN 연산자를 사용하여 범위 외의 값 검색이 가능합니다. NOT BETWEEN 연산자를 사용하면 BETWEEN 연산자와 동일한 구문을 사용할 수 있습니다. 다음은 NOT BETWEEN 연산자를 사용하여 1과 10 사이의 범위 외 값 검색하는 예시입니다.

SELECT * FROM table_name
WHERE column_name NOT BETWEEN 1 AND 10;

위의 예시는 table_name 테이블에서 column_name 열의 값이 1과 10 사이에 있지 않은 모든 레코드를 선택합니다.

OR 연산자 사용

또다른 방법은 OR 연산자를 사용하여 두 개의 조건을 결합하여 범위 외의 값 검색할 수 있습니다. 아래는 OR 연산자를 사용하여 1보다 작거나 10보다 큰 값을 검색하는 예시입니다.

SELECT * FROM table_name
WHERE column_name < 1 OR column_name > 10;

위의 예시는 table_name 테이블에서 column_name 열의 값이 1보다 작거나 10보다 큰 모든 레코드를 선택합니다.

IS NULL 연산자 사용

값이 NULL인 경우에도 범위 외의 값으로 간주될 수 있습니다. 이 경우 IS NULL 연산자를 사용하여 NULL 값을 검색할 수 있습니다. 다음은 IS NULL 연산자를 사용하여 NULL 값을 검색하는 예시입니다.

SELECT * FROM table_name
WHERE column_name IS NULL;

위의 예시는 table_name 테이블에서 column_name 열의 값이 NULL인 모든 레코드를 선택합니다.

결과 예시

다음은 위에서 설명한 방법들을 사용하여 범위 외 값 검색의 결과 예시입니다.

column_name
3
12
NULL

위의 테이블에서 column_name 열의 값이 1과 10 사이에 있지 않는 레코드는 12입니다. 또한 NULL 값도 범위 외의 값으로 간주됩니다.

결론

SQL BETWEEN 연산자를 사용하여 범위 외 값 검색은 NOT BETWEEN 연산자, OR 연산자, 그리고 IS NULL 연산자 등을 활용하여 수행할 수 있습니다. 데이터베이스에서 원하는 조건에 맞는 레코드를 선택하여 데이터를 효과적으로 관리할 수 있습니다.


참고자료: