SQL 코딩테스트 복기 - 알파벳으로 시작하는 데이터 추출하는 방법(정규표현식)
알파벳 ABCDEFGHIJKLMNOPQRSTUVWXYZ 중 하나나 abcdefghijklmnopqrstuvwxyz중 하나로 시작하는 데이터를 찾으라하면 어떻게 해야할까
WHERE (column) like "A%";
이러면 (column)이 A나 a로 시작하는 모든 행을 조회해준다.
그러면
WHERE (column) like "A%" or (column) like "B%" or (column) like "C%" or (column) like "D%" or (column) like "E%" or (column) like "F%" or (column) like "G%" or(column) like "H%" or (column) like "I%" or (column) like "J%" or(column) like "K%" or (column) like "L%" or (column) like "M%" or (column) like "N%" or(column) like "O%" or(column) like "P%" or(column) like "Q%" or (column) like "R%" or (column) like "S%" or(column) like "T%" or(column) like "U%" or(column) like "V%" or (column) like "W%" or(column) like "X%" or (column) like "Y%" or (column) like "Z%";
하면, 알파벳으로 시작하는 행을 조회해줄 것 같다...
테이블이 위와 같을때, comments가 알파벳으로 시작하는 경우는 2,3,4,5,8,9이다.
실제로 수행해보면...
SELECT * FROM product
WHERE comments like "A%" or comments like "B%"
or comments like "C%" or comments like "D%" or
comments like "E%" or comments like "F%" or comments like "G%"
or comments like "H%" or comments like "I%" or
comments like "J%" or comments like "K%" or comments like "L%" or
comments like "M%" or comments like "N%" or comments like "O%" or
comments like "P%" or comments like "Q%" or comments like "R%" or
comments like "S%" or comments like "T%" or comments like "U%" or
comments like "V%" or comments like "W%" or comments like "X%" or
comments like "Y%" or comments like "Z%";
근데 이렇게 하드코딩하면 맞추기는 하더라도 좋은 평가를 받기는 어렵겠지
sql에서도 정규표현식을 사용할 수 있다
[MySQL] 정규표현식 검색하기 REGEXP, LIKE (tistory.com)
where (column) regexp (표현식);을 사용하면, 표현식에 매칭하는 데이터를 찾아온다
알파벳으로 시작하는 데이터를 찾아올려면...
SELECT * FROM product
WHERE comments regexp "^[A-z]";
[A-z]는 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 중 하나를 나타내고
앞에 ^을 붙이면 해당 문자로 시작하는 문자열을 검색해준다
ORACLE에서는 regexp_like로 사용하는것 같다
[SQL] REGEXP_LIKE 사용법 알아보기 - LIKE와 IN을 합한 것과 같은 함수, 여러 패턴에 속하는 조건 추출하기, 정규식 & LIKE 쿼리 (tistory.com)
'프로그래밍 > SQL' 카테고리의 다른 글
SQL - 시간 데이터 포맷 바꾸기, 특정 시간 이전 데이터 추출하기 (0) | 2023.09.19 |
---|---|
SQL 코딩테스트 복기 -문자열 부분수정(마스킹)하는 방법(concat + substr)- (0) | 2023.05.28 |
MYSQL에서 스키마(데이터베이스) 생성하기 (0) | 2023.01.19 |
SQL 코딩테스트 복기 -시간 데이터 다루기, 조건에 맞는 값 추출- (0) | 2023.01.08 |
SQL 코딩테스트 복기 - 무조건 나오는 RANK함수 무조건 외우기 (0) | 2022.05.16 |