[ORACLE] 프로그래머스 이름에 el이 들어가는 동물 찾기
2021. 5. 27.
반응형

https://programmers.co.kr/learn/courses/30/lessons/59047

 

코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

1. 서론

 

문제를 자세히 읽어야 하는 문제. 대충 읽다가 조건을 놓침 ㅎ

 

2. 문제 풀이

 

ANIMAL_INS: 동물 보호소에 들어온 동물의 정보를 담은 테이블

테이블 구조

ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE

(각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부)

 

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

 

내가 간과했던 점은 개의 아이디, 즉 animal_type이 개여야 한다는 점이다. 문제의 이름에만 정신 팔려서 el에만 집착하다 보니...

조건은 animal_type이 개고, 이름에 el이라는 알파벳이 들어가며 이름순으로 정렬해야 한다는 것. 

like를 이용해서 쉽게 풀 수 있는데 like '% el%'이라고 지정해주면 el의 앞과 뒷부분엔 무슨 알파벳이든 올 수 있고 el이 있는 경우만 포함해서 검색해준다.

 

3. 코드 설명

 

SELECT animal_id, name
FROM animal_ins
WHERE upper(name) LIKE '%EL%' and animal_type ='Dog'
ORDER BY name;

 

like를 이용해 el이 들어가는 이름을 찾아준다. 이 때 대소문자의 구분이 없어야 하므로 값을 검색할 때 대문자 혹은 소문자로 고정을 해준다. 나 같은 경우에는 대문자이건 소문자이건 관계없이 대문자로 이름의 알파벳들을 바꿔주고 검색했다. (MySQL에서는 그냥 되는데 오라클은 안됨 ㅎ)

개의 아이디이기 때문에 animal_type를 dog로 고정해준다. 

그리고 이름순으로 조회해주기.

 

 

 

반응형
myoskin