SQL 연산자에는 종류가 참 많습니다.
그중에서 BETWEEN, IN, LIKE 연산자를 알아보겠습니다.
1. BETWEEN 연산자
select * from scores where num between 30 and 40;
- scores 테이블의 num 컬럼 값이 30에서 40 사이인 데이터를 출력하는 select문입니다.
- 이때, 30과 40도 조건에 포함됩니다.
- 위 예제를 AND 연산자를 이용하여 쓸 수도 있습니다.
select * from scores where num >= 30 and num <= 40;
- 위의 BETWEEN 예문과 같은 동작을 하는 코드입니다.
- BETWEEN 연산자를 사용한 것이 가독성이 더 좋고, 작성하기에도 편리하다는 것을 알 수 있습니다.
2. IN 연산자
select * from scores where num in (30, 40, 50, 60);
- scores 테이블의 num 컬럼 값이 30 또는 40 또는 50 또는 60인 데이터를 출력하는 select문입니다.
- 따라서 in 연산자는 괄호 안의 여러 개의 값 중, 하나라도 일치하면 참을 반환합니다.
- 위 예제를 OR 연산자를 이용하여 쓸 수도 있습니다.
select * from scores
where num = 30 or num = 40 or num = 50 or num = 60;
- 위의 IN 예문과 같은 동작을 하는 코드입니다.
- IN 연산자를 사용하는 것이 가독성이 더 좋고, 작성하기에도 편리하다는 것을 알 수 있습니다.
3. LIKE 연산자
3-1. %가 양 쪽에 있는 경우
select * from scores where subject like '%수학%';
- scores 테이블의 subject 컬럼의 값 중에 "수학"이 포함되는 데이터를 출력하는 select문입니다.
* 해당되는 subject 값
- 수학
- 수학 영역
- 어렵고 복잡한 수학
- 역시 수학은 어렵고 싫어
3-2. %가 뒤에만 있는 경우
select * from scores where subject like '수학%';
- scores 테이블의 subject 컬럼의 값 중에 "수학"으로 시작되는 데이터를 출력하는 select문입니다.
* 해당되는 subject 값
- 수학
- 수학 영역
3-3. %가 앞에만 있는 경우
select * from scores where subject like '%수학';
- scores 테이블의 subject 컬럼의 값 중에 "수학"으로 끝나는 데이터를 출력하는 select문입니다.
* 해당되는 subject 값
- 수학
- 어렵고 복잡한 수학
3-4. "="과 비교
select * from scores where subject = '수학';
- like와 달리 "="을 사용할 경우 정확히 일치되는 데이터만 출력합니다.
* 해당되는 subject 값
- 수학
이상으로 SQL 연산자 중 BETWEEN, IN, LIKE에 대해 알아보았습니다.
'Web Developer's Story > DATABASE' 카테고리의 다른 글
[MYSQL] 데이터 정렬 및 부분 조회 - ORDER BY, LIMIT (0) | 2020.09.04 |
---|---|
[MYSQL] 문자열 자르기 - left, right, substring 함수 (0) | 2020.09.01 |
[MYSQL] SQL 쿼리 if, case 문 사용법 (0) | 2020.08.06 |
[MYSQL] 국가코드 테이블 만들기 (엑셀 다운로드) (0) | 2020.08.05 |
[MYSQL] SQL 문법 정리 - INSERT, UPDATE, SELECT, DELETE 문 (0) | 2020.08.04 |