[SQL문제풀기] 언더스코어(_)가 포함되지 않은 데이터 찾기

silver's avatar
Mar 02, 2025
[SQL문제풀기] 언더스코어(_)가 포함되지 않은 데이터 찾기
Contents
문제SQLite

문제

SQLite

내가 작성한 오답

💡
LIKE '%_%' 에서 _(언더스코어)는 와일드카드로 단일 문자를 의미
“한 글자짜리 아무 문자라도 포함된 경우”가 출력됨
notion image
select distinct page_location from ga where page_location not like '%_%'

내가 작성한 정답

escape를 지정해서 _를 문자 그대로 인식하게 해준다
select distinct page_location from ga where page_location not like '%&_%' escape '&' order by 1 asc
정규표현식으로 걸러준다 → sqlite는 정규식 사용이 불가할 때 많음 주의!
select distinct page_location from ga where page_location not REGEXP '_' order by 1 asc
💡
LIKE와 REGEXP의 패턴 매칭 방식
LIKE: _(언더스코어)를 “임의의 단일 문자” 로 해석하는 와일드카드 매칭
REGEXP: 정규 표현식(Regex) 을 사용하여 특정 패턴을 매칭
 
 
notion image
 
💡
% → 0개 이상 모든 문자 (LIKE 'a%' → a로 시작하는 모든 문자열)
_ → 정확히 한 글자 (LIKE '_a_' → 두 번째 글자가 a인 정확히 3글자 문자열)
LIKE '_a_' 처럼 _를 사용하면 특정 자리의 글자를 고정하고 검색 가능하다!
 
Share article

silver