LIKE, BETWEEN, IN

DB/MySQL 2010. 7. 8. 18:14

◘  SQL 입문(3) - 자료검색(2) : 특수 비교 연산자와 검색 결과의 정렬

 

 

▮ LIKE 연산자


 : table의 값과 일부만 일치되는 레코드를 검색하도록 하는 연산자

 

경%

 ‘경’으로 시작하는 모든 문자열. ‘경’ 한글자 포함.

 ex) 경제, 경영...

%과

 ‘과’로 끝나는 모든 문자열. ‘과’ 한글자 포함.

 ex) 화학과, 경제학과...

%김%

 ‘김’이라는 문자가 들어간 모든 문자열

 ex) 김씨, 돌김...

화_

 ‘화’로 끝나는 두글자 단어

 ex) 화학, 화약...

___화

 ‘화’로 끝나는 세글자 단어

 ex) 해당화, 무궁화

_동_

 ‘동’이 가운데 들어간 세글자 단어

 ex) 전동차, 원동기...

 

'_'은 한글이나 영문이나 모두 1글자를 나타낸다. (byte단위가 아님)

    - select sname, major from student where sname like '마%‘;

    => 성이 마씨인 학생의 이름과 전공을 출력

    - select sname, major from student where (sname like '허%‘) and avr <= 1.0;

    => 허씨 성을 가진 학생 중에 학점이 1.0 이하인 학생의 이름과 전공을 출력

 

 

▮ 이외 연산자 : between, in


 - between ~and : 특정 범위 내의 값을 찾고자 할 때

    ex) 학점이 2.0~3.0 사이의 학생을 출력 : select sname from where avr between 2.0 and 3.0;


 - in : 여러 식 중에 하나 이상 일치하는 것을 찾을 때

   ex) 화학,물리학과 학생의 이름 출력 : select sname from student where major in('화학‘,’생물‘);

 

※ 문자열 비교 연산자는 상당수가 Full table scan을 수행하기 때문에 DB가 클 경우 좋지 않다.

'DB > MySQL' 카테고리의 다른 글

문자 함수(RIGHT, LEFT, SUBSTRING_INDEX, SUBSTRING, UPPER, REVERSE, LTRIM, LENGTH)  (0) 2010.10.27
MySQL 날짜 관련 함수  (0) 2010.09.06
[MySql] JOIN 문  (0) 2010.07.02
GROUP BY  (0) 2010.06.29
group by, having, inner join  (0) 2010.06.28
: