MYSQL | 특수 비교 연산자와 검색 결과의 정렬 : like, between, in
작성자
▮ 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가 클 경우 좋지 않다.

 

댓글목록

등록된 댓글이 없습니다.

총 게시물 93 개, 페이지 4 RSS
제목 작성자
MYSQL 년월일시간분(예:201406241621)으로 저장되어 있는 데이타를 년-월-일 시간:분:초로 H
MYSQL Column '컬럼명' in order clause is ambiguous H
MYSQL mysql update할때 select함께 하기 H
MYSQL 한글이 아닌값 검색 H
MYSQL 문자열을 치환 REPLACE() H
MYSQL 숫자의 천단위 구분자 삽입 FORMAT() H
MYSQL 문자열을 특정 구분자를 포함 합치기 CONCAT_WS() H
MYSQL 문자열을 합치기 CONCAT() H
MYSQL 문자열의 길이와 Byte CHAR_LENGTH(), LENGTH() H
MYSQL 문자열로 된 숫자를 정렬하기 H
MYSQL MySQL error 1242 : subquery returns more than 1 row H
MYSQL SQL / MySQL 서브쿼리(SubQuery) H
MYSQL 특수 비교 연산자와 검색 결과의 정렬 : like, between, in H
MYSQL Mysql 에서 php explode() 함수와 같은 효과 H
MYSQL ORDER by 정렬(임의적인 순번) H
게시물 검색