반응형

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에 대해 알아보았습니다.

 


 

반응형