Computer/Algorithm_SQL
[Programmers] 이름에 el이 들어가는 동물 찾기 (Success)
HJ0216
2023. 9. 22. 09:12
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📝 Language: Oracle
1
2
3
4
5
6
7
8
|
SELECT ANIMAL_ID,
NAME
FROM ANIMAL_INS
WHERE LOWER(NAME) LIKE '%el%'
AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
;
|
🙂 확인 사항
1. ANIMAL_INS 테이블
2. 이름에 EL이 포함(대소문자 구분 X)
3. 아이디, 이름 조회
4. 이름 오름차순
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
|
SELECT ANIMAL_ID,
NAME
FROM ANIMAL_INS
WHERE (NAME LIKE '%EL%'
OR NAME LIKE '%El%'
OR NAME LIKE '%eL%'
OR NAME LIKE '%el%')
AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
;
|
연산자 우선 순위가 AND → OR이므로 OR 조건에 () 필요
1
2
3
4
5
6
7
8
9
10
11
|
WITH SUB AS (
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog'
)
SELECT *
FROM SUB
WHERE LOWER(NAME) LIKE '%el%'
ORDER BY NAME
;
|
공통 표현식 (Common Table Expression, CTE) 사용
1
2
3
4
5
6
7
8
|
SELECT ANIMAL_ID,
NAME
FROM ANIMAL_INS
WHERE REGEXP_LIKE(NAME, '[eE][lL]')
AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
;
|
REGEXP_LIKE(NAME, '[eE][lL]')
- e or E + l or L 과 일치하는 패턴 탐색
🔗 소스 코드
GitHub