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)

 

[MySQL] 정규표현식 검색하기 REGEXP, LIKE

MySQL 정규표현식 활용하여 데이터 검색하기 SQL에서 특정 문자열 조건을 가진 데이터를 검색해야 하는 경우가 종종 있습니다. like는 보다 복잡하고 다양한 문자열 패턴을 검색할 때 쿼리가 상당

codingspooning.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] REGEXP_LIKE 사용법 알아보기 - LIKE와 IN을 합한 것과 같은 함수, 여러 패턴에 속하는 조건 추출

안녕하세요 ㅎㅎ 양햄찌 블로그 주인장입니다 오랜만에 데이터베이스 쿼리 관련 포스팅을 들고 왔어요. ■ REGEXP_LIKE 알아보기~ 오늘 알아볼 함수는 REGEXP_LIKE 입니다. regexp는 정규식이라는 뜻이

jhnyang.tistory.com

 

 

TAGS.

Comments