ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로그래머스 - 루시와 엘라 찾기
    스파르타/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
Designed by Tistory.