BETWEEN 조건은 이상(>=)과 이하(<=) 조건을 동시에 처리할 수 있는 조건자다. BETWEEN 뒤에는 '시작 조건값 AND 종료 조건값'과 같이 두 개의 조건 값을 줄 수 있다. BETWEEN과 AND는 항상 쌍으로 사용된다. BETWEEN의 AND는 WHERE 절에서 조건을 연결하는 AND와는 별개다. 아래 예제를 살펴보자. Item(상품) 테이블에서 ItemId가 'A' 이상이면서 'C' 이하인 데이터를 조회하고 있다.
-- [SQL-3-6-1]
SELECT ItemId ,ItemNm ,ItemCat
FROM startdb.Item
WHERE ItemId BETWEEN 'A' AND 'C';
ItemId ItemNm ItemCat
------ ------------------- -------
AMB Americano(B) COF
AMR Americano(R) COF
BGLR Bagel(R) BKR
BMFR Blueberry Muffin(R) BKR
위 SQL의 BETWEEN 조건은 아래와 같이 같이 이상(>=) 조건과 이하(<=) 조건 두개를 사용한 것과 같다.
-- [SQL-3-6-2]
SELECT ItemId ,ItemNm ,ItemCat
FROM startdb.Item
WHERE ItemId >= 'A'
AND ItemId <= 'C';
ItemId ItemNm ItemCat
------ ------------------- -------
AMB Americano(B) COF
AMR Americano(R) COF
BGLR Bagel(R) BKR
BMFR Blueberry Muffin(R) BKR
LIKE는 조건값의 일부가 포함된 데이터를 검색하기 위해 사용한다. LIKE는 문자형 데이터에만 사용할 수 있다. LIKE를 사용할때는 아래의 특수문자를 사용해 와일드카드(대체문자)로 사용한다.
아래는 상품명(ItemNm)이 'Cafe'로 시작하는 데이터를 조회하는 SQL이다.
-- [SQL-3-6-3]
SELECT ItemId ,ItemNm ,ItemCat
FROM startdb.Item
WHERE ItemNm LIKE 'Cafe%';
ItemId ItemNm ItemCat
------ ------------- -------
CLB Cafe Latte(B) COF
CLR Cafe Latte(R) COF
반대로 %를 앞쪽에 놓고 뒤에 값을 사용하면, 입력한 값으로 끝나는 데이터를 검색할 수 있다. 아래는 상품명이 '(B)'로 끝나는 데이터를 조회하고 있다.