LIKE를 여러번 사용해야 하는데, IN을 함께 사용할 수 없어요.
이럴 때 깔끔하고, 간단하게 쿼리를 작성하기 위해 사용하는 것이 REGEXP 입니다.
사용방법: SELECT 칼럼1 FROM 테이블 WHERE 칼럼1 REGEXP '문자1|문자2|문자3'; ( | 은 OR의 역할을 해줘요)
1) 칼럼1에서 'a, b, c, d'가 포함된 문자 모두 출력하기 (원하는 문자 그대로 입력)
SELECT 칼럼1 FROM 테이블
WHERE 칼럼1 REGEXP 'a|b|c|d';
-- REGEXP를 사용하지 않고 위와 동일한 값 출력하기
SELECT 칼럼1 FROM 테이블
WHERE 칼럼1 LIKE '%a%'
OR 칼럼1 LIKE '%b%'
OR 칼럼1 LIKE '%c%'
OR 칼럼1 LIKE '%d%';
2) 칼럼1에서 'a, b, c, d'로 시작하는 문자 모두 출력하기 (시작하는 문자 앞에 ^ 붙여주기)
SELECT 칼럼1 FROM 테이블
WHERE 칼럼1 REGEXP '^a|^b|^c|^d';
-- REGEXP를 사용하지 않고 위와 동일한 값 출력하기
SELECT 칼럼1 FROM 테이블
WHERE 칼럼 LIKE 'a%'
OR 칼럼 LIKE 'b%'
OR 칼럼 LIKE 'c%'
OR 칼럼 LIKE 'd%';
3) 칼럼1에서 'a, b, c, d'로 끝나는 문자 모두 출력하기 (끝나는 문자 뒤에 $ 붙여주기)
SELECT 칼럼1 FROM 테이블
WHERE 칼럼1 REGEXP 'a$|b$|c$|d$';
-- REGEXP를 사용하지 않고 위와 동일한 값 출력하기
SELECT 칼럼1 FROM 테이블
WHERE 칼럼1 LIKE '%a'
OR 칼럼1 LIKE '%b'
OR 칼럼1 LIKE '%c'
OR 칼럼1 LIKE '%d';