프로그래머스 SQL - 이름에 el이 들어가는 동물 찾기

dev-swd·2021년 1월 16일
0

sql practice

목록 보기
5/5
post-thumbnail

@문제

보호소에 돌아가신 할머니가 기르던 개를 찾는 사람이 찾아왔습니다. 이 사람이 말하길 할머니가 기르던 개는 이름에 'el'이 들어간다고 합니다. 동물 보호소에 들어온 동물 이름 중, 이름에 EL이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다.


자세한 문제는 요기 클릭

풀이법

이 문제의 요지는 대소문자 구분 없이 와일드카드 검색 이다.
검색한 결과 MySQL 에서는 검색어나 비교하려는 컬럼의 값을 upper 나 lower 함수로 치환하여 비교한다고 한다.

SELECT
    ANIMAL_ID,
    NAME
FROM
    ANIMAL_INS
WHERE
    ANIMAL_TYPE = 'Dog' and
    UPPER(NAME) LIKE '%EL%'
ORDER BY
    NAME ASC;

위와 같이 하면 정답으로 넘어가긴 하는데, 레코드가 많을 경우 이런 식으로 검색을 하면 모든 레코드의 해당 컬럼을 치환해야 하기 때문에 생각해봐야 할 문제라고 생각한다.

H2PostgreSQLILIKE 라는 키워드가 존재하여, CASE SENSITIVE 하지 않도록 검색이 가능하다고 한다.

profile
개발을 취미로 할 수 있는 그 때 까지

0개의 댓글