SQL - BETWEEN 연산자

안녕하세요, 미래의 SQL 마법사 여러분! 오늘 우리는 BETWEEN 연산자의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 많은 예제와 한eness의 매력을 가지고 이 모험을 안내해 드리겠습니다. 그러니 가상의魔杖(키보드)을 집어들고 시작해 보세요!

SQL - BETWEEN Operator

SQL BETWEEN 연산자

당신이 파티를 준비하고, 특정 연령대에 속한 친구들을 초대하고 싶을 때를 상상해 봅시다. 그게 exactly BETWEEN 연산자가 SQL에서 하는 일입니다 - 특정 범위 내의 데이터를 선택하는 데 도움을 줍니다. 이제 다들어보겠습니다!

기본 문법

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

처음에는 조금 무서워 보일 수 있지만, 걱정 마세요! 예제를 통해 설명해 드리겠습니다.

예제 1: 가격 범위 내의 제품 선택

우리의 온라인 상점 데이터베이스에 "Products" 테이블이 있다고 가정해 봅시다. 우리는 $50에서 $100 사이의 가격을 가진 모든 제품을 찾고 싶습니다.

SELECT * FROM Products
WHERE Price BETWEEN 50 AND 100;

이 쿼리는 가격이 $50에서 $100 사이인 Products 테이블의 모든 열(*)을 반환합니다. 이는 "최소 $50에서 최대 $100 사이의 가격을 가진 모든 제품을 보여달라"고 요청하는 것과 같습니다.

예제 2: 날짜 범위

BETWEEN 연산자는 숫자뿐만 아니라 날짜에도 적용됩니다! 가정해 봅시다. 우리는 "Orders" 테이블이 있고, 2023년에 주문된 모든 주문을 찾고 싶습니다.

SELECT * FROM Orders
WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';

이 쿼리는 2023년 1월 1일부터 2023년 12월 31일까지의 날짜를 가진 모든 주문을 검색합니다. 이는 데이터베이스에 "2023년에 우리가 받은 주문은 무엇이었나요?"라고 물어보는 것과 같습니다.

BETWEEN 연산자와 IN 연산자 결합

이제 우리는 BETWEEN과 IN 연산자를 결합하여 더 복잡한 쿼리를 만들어 보겠습니다. 이는 파티에 특정 연령대와 이름을 포함한 손님 명단을 만드는 것과 같습니다.

예제 3: BETWEEN과 IN 결합

25세에서 35세 사이의 연령대에 속하며 IT 또는 HR 부서에서 일하는 직원을 찾고 싶다면 어떻게 하나요.

SELECT * FROM Employees
WHERE (Age BETWEEN 25 AND 35)
AND Department IN ('IT', 'HR');

이 쿼리는 "25세에서 35세 사이의 연령대에 속하며 IT 또는 HR 부서에서 일하는 모든 직원을 보여달라"고 요청하는 것과 같습니다. 이는 검색 기준을 좁히는 좋은 방법입니다.

BETWEEN 연산자와 UPDATE 문장

occasionally, 특정 범위 내의 데이터를 업데이트해야 할 때가 있습니다. BETWEEN을 UPDATE 문장에서 어떻게 사용할 수 있는지 보겠습니다.

예제 4: 급여 업데이트

$50,000에서 $70,000 사이의 급여를 받는 모든 직원에게 10% 인상을 주고 싶습니다.

UPDATE Employees
SET Salary = Salary * 1.10
WHERE Salary BETWEEN 50000 AND 70000;

이 쿼리는 지정된 급여 범위 내의 모든 직원의 급여를 10% 인상합니다. 이는 중간 소득 직원에게 보너스를 주는 것과 같습니다!

BETWEEN 연산자와 DELETE 문장

BETWEEN 연산자는 특정 범위 내의 데이터를 제거할 때 DELETE 문장과도 사용할 수 있습니다.

예제 5: 오래된 레코드 제거

2020년에 주문된 모든 주문을 데이터베이스에서 정리하고 싶습니다.

DELETE FROM Orders
WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31';

이 쿼리는 2020년에 주문된 모든 주문을 제거합니다. 이는 데이터베이스의 디지털 봄 청소와 같습니다!

NOT BETWEEN 연산자

그렇다면 특정 범위 밖의 데이터를 찾고 싶다면 어떻게 하나요? 그때 NOT BETWEEN 연산자가 유용합니다.

예제 6: 가격 범위 밖의 제품 찾기

$20보다 싸거나 $100보다 비쌌는 모든 제품을 찾고 싶습니다.

SELECT * FROM Products
WHERE Price NOT BETWEEN 20 AND 100;

이 쿼리는 가격이 $20 미만이나 $100 초과인 모든 제품을 반환합니다. 이는 "예산 친화적이고 럭셔리 아이템을 보여달라, 그러나 중간 가격의 아이템은 제외하라"고 요청하는 것과 같습니다.

NOT BETWEEN 연산자와 IN

마지막으로, NOT BETWEEN과 IN 연산자를 결합하여 더 정밀한 쿼리를 만들어 보겠습니다.

예제 7: 복잡한 제외 쿼리

30세에서 50세 사이의 연령대에 속하지 않고, 영업 또는 마케팅 부서에서 일하지 않는 직원을 찾고 싶습니다.

SELECT * FROM Employees
WHERE (Age NOT BETWEEN 30 AND 50)
AND Department NOT IN ('Sales', 'Marketing');

이 쿼리는 30세 미만이나 50세 초과인 직원이며, 영업 또는 마케팅 부서에서 일하지 않는 직원을 찾습니다. 이는 "젊은 직원과 경력이 많은 직원 중에서 고객 대면 부서에 속하지 않은 직원을 보여달라"고 요청하는 것과 같습니다.

BETWEEN 연산자 메서드 요약

여기 BETWEEN 연산자를 다양한 방법으로 사용하는 요약 표를 제공합니다:

메서드 설명 예제
BETWEEN 특정 범위 내의 값을 선택 WHERE Price BETWEEN 50 AND 100
BETWEEN with Dates 특정 날짜 범위 내의 값을 선택 WHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
BETWEEN with IN 범위와 목록 선택을 결합 WHERE (Age BETWEEN 25 AND 35) AND Department IN ('IT', 'HR')
BETWEEN in UPDATE 범위 내의 값을 업데이트 UPDATE Employees SET Salary = Salary * 1.10 WHERE Salary BETWEEN 50000 AND 70000
BETWEEN in DELETE 범위 내의 레코드를 제거 DELETE FROM Orders WHERE OrderDate BETWEEN '2020-01-01' AND '2020-12-31'
NOT BETWEEN 특정 범위 밖의 값을 선택 WHERE Price NOT BETWEEN 20 AND 100
NOT BETWEEN with IN 범위와 목록 제외를 결합 WHERE (Age NOT BETWEEN 30 AND 50) AND Department NOT IN ('Sales', 'Marketing')

그렇게 되면, BETWEEN 연산자의 세계를 여러분과 함께 탐험해 보았습니다. 연습이 완벽을 만드는 것을 기억하시고, 자신의 데이터세트에서 이 쿼리를 실험해 보세요. 행복한 SQL을 기원하며, 여러분의 쿼리가 항상 원하는 결과를 반환하길 바랍니다!

Credits: Image by storyset