범위 검색하기
MSSQL에서 범위 검색하는 법에 대해 포스팅하겠습니다.
데이터를 조회하면서 어디에서부터 어디까지 이런 식으로 범위의 데이터를 출력할 때 가 있습니다.
이럴 때 BETWEEN 문을 사용하여 간편하게 조회할 수 있습니다.
기본문법
SELECT * FROM [TABLE] WHERE [COLUMN1] BETWEEN [A] AND [B]
/*
[TABLE] 에서 [COLUMN1]의 값이 [A] 이상, [B] 이하인 데이터가 조회됩니다.
*/
💡BTWEEN 문에 앞에 오는 값(A)이 무조건 뒤에 오는 값(B) 이하여야 합니다.
문자열 범위검색
기본문법에서 비교값[A], [B]의 이상, 이하 데이터가 조회된다고 하였기에
값의 크기가 명확한 숫자만 의미하는 것이 아니고 문자열 또한 범위검색 가능합니다.
SELECT *
FROM [TABLE]
WHERE [NAME] BETWEEN '가가가' AND '라라라'
/*
[NAME]의 값이 '가가가' 이상이고 '라라라' 이하인 데이터만 조회됩니다.
여기서 이상, 이하의 값의 기준은
문자를 아마도 아스키코드로 변경비교하는 것으로 알고있습니다.
위쿼리에서 '김구라', '나고리' 등 데이터는 조회되지만
'김구마', '마그마' 등의 데이터는 조회되지 않습니다.
(대충 감이 오시죠?)
*/
날짜 범위검색
날짜 범위를 BETWWEN문에 넣어서 날짜범위도 검색할 수 있습니다.
SELECT *
FROM [TABLE]
WHERE [DATE] BETWEEN '20/10/2023' AND '30/10/2023'
/*
[TABLE]에서 [DATE]칼럼의 값이 2023.10.20. ~ 2023.10.30 사이인 데이터만 조회됩니다.
*/
NOT BETWEEN (범위 밖 검색)
NOT BETWEEN 문을 통해 범위에 해당하지 않는 데이터를 조회할 수 있습니다.
SELECT *
FROM [TABLE]
WHERE [COLUMN1] NOT BETWEEN 100 AND 200
/*
[TABLE]에서 [COLUMN1]의 값이 100~200 사이가 아닌 데이터만 조회합니다.
*/