[SQL] 이름에 el이 들어가는 동물 찾기

Ray·2025년 3월 6일

SQL

목록 보기
15/39

🔎 문제설명

  • 출처: 프로그래머스
  • 사용언어(RDBMS): SQL(MySQL)
  • 문제:

    동물 보호소에 들어온 동물 이름 중, 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 이름 순으로 조회해주세요. 단, 이름의 대소문자는 구분하지 않습니다.




✅ 제출답안

# 이름에 "EL"이 들어가는 개의 아이디와 이름을 조회
# 결과는 이름 순으로 조회
# 이름의 대소문자는 구분하지 않음
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'DOG'
ORDER BY NAME



🚀 풀이기록

문제 자체는 어렵지 않게 풀 수 있었다. 다만 문제를 풀다가 이름이 대소문자를 구분한다면 어떤지 궁금해져서 찾아보았다.



🍯 기타

MySQL에서는 문자열 비교는 기본적으로 대소문자 구분을 하지 않는다. 만약 대소문자를 구분해서 검색하고 싶으면 컬럼 앞에 BINARY 를 사용해야한다. BINARY 는 문자열을 바이트 단위로 변환하여 비교한다.

WHERE NAME LIKE '%EL%' AND BINARY ANIMAL_TYPE = 'DOG'  # 결과가 나오지 않음

이렇게 코드를 작성하는 경우 실제로 테이블에는 Dog라고 저장되어있으므로 검색되지 않았다.

profile
미래의 독자인 나를 위해 글을 씁니다.

0개의 댓글