두 값 사이의 값들을 검색하는 방법 이다.
BETWEEN AND 비교 연산자를 이용 하면 된다.
BETWEEN AND 연산자를 사용 하는 이유 :
>=, <=, >, < 비교 연산자 보다,
가독성이 좋고, 코드가 심플해진다.
1.
월급이 1000에서 3000 사이인 사원들의 이름과 월급 출력 하기.
SELECT ename, sal
FROM emp
WHERE sal BETWEEN 1000 AND 3000;
ENAME SAL
---------- ----------
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
WARD 1250
FORD 3000
SCOTT 3000
ADAMS 1100
MILLER 1300
11개 행이 선택되었습니다.
BETWEEN AND 를 사용 할 경우, 주의 사항은 다음과 같다.
BETWEEN 하한값 AND 상한값 순으로 작성 해야 한다.
BETWEEN 상한값 AND 하한값 순으로 작성 하면 검색이 되지 않는다.
SELECT ename, sal
FROM emp
WHERE sal BETWEEN 3000 AND 1000;
선택된 행 없음
2.
위의 SQL 구문은, 비교 연산자인 >= 와 <= 를 사용한 SQL 구문과 동일 하다.
SELECT ename, sal
FROM emp
WHERE (sal >= 1000 AND sal <= 3000);
ENAME SAL
---------- ----------
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
WARD 1250
FORD 3000
SCOTT 3000
ADAMS 1100
MILLER 1300
11개 행이 선택되었습니다.
짚고 넘어갈 부분 : AND 를 사용한 점이다. && 이런게 아니라, AND 이다.
3.
월급이 1000 에서 3000 사이가 아닌 사원들의 이름과 월급을 조회 하기.
BETWEEN AND 구문 앞에 NOT 만 붙혀 주면 된다.
SELECT ename, sal
FROM emp
WHERE sal NOT BETWEEN 3000 AND 1000;
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800
ENAME SAL
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300
14개 행이 선택되었습니다.
4.
위의 SQL 구문은, 비교 연산자인 > 와 < 를 사용한 SQL 구문과 동일 하다.
= (이퀄) 이 붙지 않는다.
SELECT ename, sal
FROM emp
WHERE (sal < 1000 OR sal > 3000);
ENAME SAL
---------- ----------
KING 5000
JAMES 950
SMITH 800
짚고 넘어갈 부분 : OR 를 사용한 점이다. || 이런게 아니라, OR 이다.
월급이 1000 보다 작고, 월급이 3000 보다 큰 사원의 이름을 출력한 모습 이다.
5.
1982 년도에 입사한 사원들의 이름과 입사일을 조회 하기.
SELECT ename, hiredate
FROM emp
WHERE hiredate BETWEEN '1982/01/01' AND '1982/12/31';
ENAME HIREDATE
---------- --------
SCOTT 82/12/22
MILLER 82/01/11
모든 한 해는, 01월 01일 부터, 12월 31일 까지 있으므로,
위와 같이 BETWEEN AND 구문을 작성 하여 조회 할 수 있다.
6.
BETWEEN AND 구문은 MySQL 에서도 동일한 문법으로 사용 할 수 있다.
'초보자를 위한 SQL 200제 > 이론 & 예제' 카테고리의 다른 글
013 비교 연산자 배우기 (IS NULL) (0) | 2023.07.12 |
---|---|
012 비교 연산자 배우기 (LIKE) (0) | 2023.07.12 |
010 비교 연산자 배우기 1 (>, <, >=, <=, =, !=, <>, ^=) (0) | 2023.07.09 |
009 산술 연산자 배우기 (*, /, +, -) (0) | 2023.07.09 |
008 WHERE절 배우기 2 (문자와 날짜 검색) (0) | 2023.07.09 |