#like
문자열을 검색할때 등호(=)를 사용할 수 있습니다. 그러나 이것은 완전히 일치하는 경우에만 참이 됩니다.
반면에 like술어는 문자열 중 부분 일치를 검색할 때 사용할 수 있습니다.
#일치의 종류
전방일치 - 검색 조건이 되는 문자열이 검색 대상 문자열의 가장 앞에 위치하고 있는 행을 선택
중간일치 - 검색 조건이 되는 문자열이 검색 대상 문자열의 어딘가에 포함되어 있으면
행을 검색하며 위치는 어디는 상관없음
후방일치 - 검색조건이 되는 무자열이 검색 대상 문자열의 가장 뒤에 위치하고 있는 행을 검색
전방일치 예시
select * from nameoftable where col_1 like 'ddd%';
→ 'nameoftable'에서 'col_1'열에서 'ddd'로 시작되는 모든 문자열 데이터를 찾습니다.
%는 '0문자 이상의 임의의 문자열'을 의미하는 특수기호를 뜻합니다.
중간일치 예시
select * from nameoftable where col_1 like '%ddd%';
후방일치 예시
select * from nameoftable where col_1 like '%ddd';
#between
between은 범위 검색을 수행합니다.
사용 예시
select * from nameoftable where col_2 between 100 and 1000;
→ 'nameoftable' 테이블에서 'col_2'가 100부터 1000까지인 데이터를 선택
#isnull
테이블에서 null이 포함된 데이터를 찾고 싶을 때 단순하게 생각하면
select * from nameoftable where col_1 = null;
이렇게 하면 되지 않을까 싶다. 그러나 null은 비교 불가능한 특별한 표시어이기 때문에 isnull을 사용해야 합니다.
사용 예시
select * from nameoftable where col_2 is null;
반대로 null이 아닌 것만 찾고 싶을 때는 다음과 같이 is not null을 작성해줍니다.
select * from nameoftable where col_2 is not null;
#in
만약에 예를 들어서 col_1이 300, 500, 700인 데이터를 선택할 때 or 구문을 사용하면 다음과 같이 된다.
select * from nameoftable where col_1 = 300 or col_1 = 500 or col_1 = 700;
이러한 나열식의 쿼리는 조건이 많아질수록 길어지고 효율이 떨어진다. 이때 'in' 술어를 사용하면 된다.
사용 예시
select * from nameoftable where col_1 in (300, 500, 700);
'파이썬으로 퀀트 프로그램 만들기 project > MySQL' 카테고리의 다른 글
MySQL - 테이블 결합, inner join, outer join (0) | 2023.07.31 |
---|---|
MySQL - case (0) | 2023.07.31 |
MySQL - 날짜함수, extract (0) | 2023.07.31 |
MySQL - error code: 1175, safe update 모드 해제 방법 (0) | 2023.07.27 |
MySQL - 산술함수 (0) | 2023.07.27 |