본문 바로가기

데이터 분석/Postgre SQL - 정리하자

BETWEEN 연산자란?

반응형

# 구동 환경 : Postgre SQL 12.3 설치 -> pgAdmin4에서 아래 DB 연동 -> DBeaver 7.1.2 버전에서 코딩 진행

# 활용하는 DB = dvdrental.tar

PostgreSQL의 BETWEEN 연산자: 사용 이유와 중요성

BETWEEN 연산자는 SQL 쿼리에서 지정된 두 값 사이에 포함되는 행을 조회하는 데 사용됩니다. 이 연산자는 날짜, 숫자, 문자 데이터 유형에서 범위를 쉽게 지정할 수 있게 해줍니다. 왜 BETWEEN 연산자를 사용해야 하며, 무엇이 중요한지에 대해 자세히 살펴보겠습니다.

 

BETWEEN 연산자를 사용하는 이유

  1. 범위 내 데이터 필터링: BETWEEN 연산자는 특정 범위 내에 있는 데이터를 필터링하는 데 매우 유용합니다. 예를 들어, 특정 기간 내의 데이터나 특정 범위의 숫자를 조회할 때 사용할 수 있습니다.
  2. 가독성 향상: BETWEEN 연산자를 사용하면 쿼리가 더 간결하고 읽기 쉬워집니다. 이는 복잡한 조건을 AND 연산자로 묶는 것보다 훨씬 직관적입니다.
  3. 효율적인 쿼리 작성: 특정 범위를 필터링할 때 BETWEEN 연산자를 사용하면 쿼리의 효율성이 향상됩니다. 이는 데이터베이스가 범위를 최적화하여 검색할 수 있기 때문입니다.
  4. 유연한 데이터 조회: 날짜, 숫자, 문자열 등 다양한 데이터 유형에 적용할 수 있어 유연한 데이터 조회가 가능합니다. 이를 통해 다양한 시나리오에서 데이터를 필터링할 수 있습니다.

 

BETWEEN 연산자의 중요성

  1. 정확한 데이터 분석: BETWEEN 연산자는 특정 범위 내의 데이터를 정확하게 필터링하여 분석할 수 있게 해줍니다. 이는 데이터 분석과 보고서 작성에서 매우 중요합니다.
  2. 쿼리 성능 최적화: BETWEEN 연산자는 범위 조건을 최적화하여 쿼리 성능을 향상시킬 수 있습니다. 특히, 인덱스가 적용된 열에서 BETWEEN 연산자를 사용하면 성능이 더욱 향상됩니다.
  3. 데이터 무결성 유지: 특정 범위 내의 데이터를 업데이트하거나 삭제할 때 BETWEEN 연산자를 사용하여 데이터 무결성을 유지할 수 있습니다. 예를 들어, 특정 기간 내의 기록만 업데이트할 수 있습니다.
  4. 코드 유지 보수성 향상: BETWEEN 연산자를 사용하면 쿼리가 간결해져 코드의 가독성이 향상됩니다. 이는 쿼리의 유지 보수성과 수정 용이성을 높입니다.

 

BETWEEN 연산자의 활용

  1. 날짜 범위 필터링: orders 테이블에서 특정 기간 내의 주문을 조회합니다.
  2. 숫자 범위 필터링: products 테이블에서 특정 가격 범위 내의 제품을 조회합니다.
  3. 문자열 범위 필터링: 알파벳 범위를 지정하여 특정 범위의 데이터를 조회할 수 있습니다. 예를 들어, 이름이 'A'에서 'L' 사이인 직원들을 조회합니다.
  4. NOT BETWEEN 사용: BETWEEN 연산자의 반대 개념으로, 특정 범위에 포함되지 않는 행을 조회할 수 있습니다. 예를 들어, 특정 가격 범위에 포함되지 않는 제품들을 조회합니다.

 

BETWEEN 연산자는 특정 집합에서 어떠한 컬럼의 값이 특정 범위안에 들어가는 집합을 출력하는 연산자입니다.

SELECT
       CUSTOMER_ID
      ,PAYMENT_ID
      ,AMOUNT
  FROM 
       PAYMENT
 WHERE AMOUNT BETWEEN 8 AND 9; -- AMOUNT가 8부터 9사이인 집합을 출력

이처럼 AMOUNT가 8이상 9이하의 값들이 출력되었습니다.

 SELECT
       CUSTOMER_ID
      ,PAYMENT_ID
      ,AMOUNT
  FROM 
       PAYMENT
 WHERE AMOUNT NOT BETWEEN 8 AND 9; -- AMOUNT가 8부터 9사이가 아닌 집합을 출력

8이상 9 이하가 아닌 집합을 출력해봤고 결과가 잘 출력되었습니다.

이번에는 날짜를 조건으로 확인해보겠습니다.

  SELECT
        CUSTOMER_ID
       ,PAYMENT_ID
       ,AMOUNT
       ,PAYMENT_DATE
   FROM 
        PAYMENT
  WHERE CAST(PAYMENT_DATE AS DATE)
BETWEEN '2007-02-07' AND '2007-02-15';
-- PAYMENT_DATE가  2007년 2월 7일-15일 사이의 집합을 출력

조건에 맞게 결과가 잘 출력되었습니다.

결론

PostgreSQL의 BETWEEN 연산자는 특정 범위 내의 데이터를 효율적으로 필터링하는 데 매우 유용한 도구입니다. 이를 통해 쿼리 작성이 간결해지고, 코드 가독성과 유지 보수성이 향상되며, 쿼리 성능을 최적화할 수 있습니다. BETWEEN 연산자를 잘 활용하면 데이터베이스 작업이 훨씬 더 효율적이고 효과적으로 이루어질 것입니다.

다음에는 LIKE 연산자에 대해서 보도록 하겠습니다.

반응형