[sql] SQL BETWEEN 연산자를 이용한 반복되는 값 검색

SQL에서 BETWEEN 연산자는 지정된 범위 내에 있는 값들을 검색할 때 사용됩니다. 이것은 특히 반복되는 값들을 찾을 때 유용합니다.

BETWEEN 연산자의 기본 구문은 다음과 같습니다:

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

여기서 column_name은 검색하려는 열의 이름이며, table_name은 검색하려는 테이블의 이름입니다. value1value2는 검색하려는 값의 범위를 지정합니다.

예를 들어, orders 테이블에서 order_date 열의 값이 2020년 1월 1일부터 2020년 12월 31일 사이에 있는 주문들을 검색하려면 다음과 같이 쿼리를 작성할 수 있습니다:

SELECT *
FROM orders
WHERE order_date BETWEEN '2020-01-01' AND '2020-12-31';

이 쿼리는 orders 테이블에서 order_date 열의 값이 2020년 1월 1일부터 2020년 12월 31일 사이에 있는 모든 주문을 반환합니다.

BETWEEN 연산자는 대소문자를 구분하지 않으며, 문자열 또는 숫자를 비교하는 데 모두 사용할 수 있습니다. 따라서 날짜, 시간, 문자열 또는 숫자 열에 대해 사용될 수 있습니다.

범위에 포함되는 값

BETWEEN 연산자를 사용할 때 주의해야 할 점은 value1value2가 범위에 포함되는지 여부입니다. BETWEEN 연산자는 범위 양끝에 있는 값들을 포함합니다. 이는 >=<= 연산자와 동일합니다.

따라서 위의 예제에서는 2020년 1월 1일부터 2020년 12월 31일 사이에 있는 주문들을 검색합니다. 즉, 2020년 1월 1일과 2020년 12월 31일에 속한 주문 또한 포함됩니다.

부정형 BETWEEN

인피니티(Infinity) 값 (-∞, )을 사용하여 부정형 BETWEEN 연산을 수행할 수도 있습니다. 예를 들어, orders 테이블에서 2020년을 제외한 나머지 연도의 주문들을 검색하려면 다음과 같이 쿼리를 작성할 수 있습니다:

SELECT *
FROM orders
WHERE order_date NOT BETWEEN '2020-01-01' AND '2020-12-31';

이 쿼리는 2020년을 제외한 모든 연도에 해당하는 주문을 반환합니다.

BETWEEN 연산자는 SQL에서 반복되는 값 검색에 매우 유용한 연산자입니다. 범위를 지정하여 원하는 데이터를 쉽게 검색할 수 있습니다.