[sql] SQL BETWEEN 연산자를 이용한 NULL 값 검색

SQL에서 BETWEEN 연산자는 지정된 범위 안의 값들을 검색하는데 사용됩니다. 그러나 BETWEEN 연산자는 NULL 값을 올바르게 처리하지 못하는데, 이는 NULL 값이 범위 안에 속하지 않는다는 것을 의미합니다. 따라서 BETWEEN 연산자를 사용하여 NULL 값을 검색하려면 몇 가지 추가적인 처리가 필요합니다.

NULL 값 검색 방법

1. IS NULL을 사용하기

NULL 값을 검색하기 위해 BETWEEN 연산자 대신 IS NULL을 사용할 수 있습니다. 다음은 예시입니다.

SELECT * FROM table_name WHERE column_name IS NULL;

2. 범위를 확장하기

BETWEEN 연산자를 사용하여 NULL 값을 검색하려면, 범위를 넓히는 방법을 사용할 수 있습니다. 다음은 예시입니다.

SELECT * FROM table_name WHERE column_name >= lower_value OR column_name <= upper_value;

위의 예시에서 lower_valueupper_value는 검색하려는 범위의 최소값과 최대값을 의미합니다. 이렇게 하면 NULL 값도 검색되지만, NULL 값이 아닌 다른 값들도 함께 검색되는 점에 유의해야 합니다.

예시

만약 customers 테이블에서 age 열을 검색하여 NULL 값을 찾고 싶다고 가정해 봅시다.

IS NULL 사용하기 예제

SELECT * FROM customers WHERE age IS NULL;

범위를 확장하는 예제

SELECT * FROM customers WHERE age >= 0 OR age <= 100;

결론

BETWEEN 연산자는 NULL 값을 검색하는 데에는 적합하지 않습니다. 대신 IS NULL을 사용하거나 범위를 확장하는 방법을 사용하여 NULL 값을 검색할 수 있습니다. 각 상황에 맞게 적절한 방법을 선택하여 사용하면 됩니다.

참고 자료