-
프로그래머스 - 루시와 엘라 찾기스파르타/TIP 2023. 11. 29. 16:22
동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요.
매우 쉬운 문제라고 생각하고 다음과 같이 코딩을 하였다.
SELECT ANIMAL_ID ,NAME ,SEX_UPON_INTAKE from animal_ins where name regexp 'Lucy|Ella|Pickle|Rogan|Sabrina|Mitty' order by 1
놀랍게도 결과는 틀렸다!
그래서 질문하기를 찾아보니 어떤 대단한 분이 설명을 기똥차게 해놓았다.
REGEXP
이놈의 검색 특징은
문자열 내부에 어떤 부분이든 해당 정규식이 존재하면 TRUE가 나온다.
즉 이름이 I'M Lucy라고 써있어도 LUCY가 있기 때문에
TRUE를 반환한다.
따라서 우리는 NAME의 REGEXP에 조건을 추가하여
이름의 조건을 상세하게 조정한다.
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME regexp "^(Lucy|Ella|Pickle|Rogan|Sabrina|Mitty)$" ORDER BY ANIMAL_ID
위와 같이 REGEXP에서
^ : 시작하는 글자
$ : 끝나는 글자
이렇게 하여서 이름의 시작과 끝이 저 형식으로만
되게 지정한다.
'스파르타 > TIP' 카테고리의 다른 글
태블로 집계식 (0) 2024.06.14 2/2 (1) 2024.02.05 프로그래머스_즐겨찾기가 가장 많은 식당 정보 출력하기 (1) 2023.11.30 MYSQL 소소한 팁 (2) 2023.11.28