Jin's Dev Story

[PostgreSQL] PostgreSQL 범위 조회 (BETWEEN 연산자) 본문

Database/PostgreSQL

[PostgreSQL] PostgreSQL 범위 조회 (BETWEEN 연산자)

woojin._. 2024. 6. 11. 10:33

BETWEEN 연산자 문법

  • 특정 범위 안에 들어가는 집합을 출력하는 연산자

 

기본 문법

  • COLUMN_NAME 값이 VALUE_A와 VALUE_B 사이에 있는 값을 조회
SELECT *
FROM TABLE_NAME
WHERE COLUMN_NAME BETWEEN VALUE_A AND VALUE_B;

-- BETWEEN 연산자를 사용하지 않으면
COLUMN_NAME >= VALUE_A AND COLUMN_NAME <= VALUE_B
  • COLUMN_NAME 값이 VALUE_A와 VALUE_B 사이에 있지 않은 값을 조회
SELECT * 
FROM TABLE_NAME
WHERE COLUMN_NAME BETWEEN VALUE_A AND VALUE_B;

-- BETWEEN 연산자를 사용하지 않으면
COLUMN_NAME < VALUE_A OR COLUMN_NAME > VALUE_B

 

실습

 

 1) AMOUNT가 8부터 9사이의 값을 조회

SELECT customer_id, payment_id, amount
FROM payment
WHERE AMOUNT BETWEEN 8 AND 9;

-- WHERE AMOUNT >= 8 AND AMOUNT <= 9

 

 2) AMOUNT가 8부터 9 사이가 아닌 값을 조회

SELECT customer_id, payment_id, amount
FROM payment
WHERE AMOUNT NOT BETWEEN 8 AND 9;

-- WHERE AMOUNT < 8 OR AMOUNT > 9

 

 3) PAYMENT 테이블의 PAYMENT_DATE가 2007년 2월7일부터 2007년 2월15일까지의 데이터를 조회

SELECT customer_id, payment_id, amount, payment_date
FROM payment
WHERE CAST(payment_date as date) BETWEEN '2007-02-07' AND '2007-02-15';

-- 다른 방법
SELECT customer_id, payment_id, amount, payment_date
FROM payment
WHERE to_char(payment_date, 'YYYY-MM-DD') BETWEEN '2007-02-07' AND '2007-02-15';