📝 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
'Computer > Algorithm_SQL' 카테고리의 다른 글
[Programmers] 중복 제거하기 (Success) (0) | 2023.09.24 |
---|---|
[Programmers] 동물 수 구하기 (Success) (0) | 2023.09.23 |
[Programmers] 루시와 엘라 찾기 (Success) (0) | 2023.09.21 |
[Programmers] 동명 동물 수 찾기 (Success) (0) | 2023.09.20 |
[Programmers] 고양이와 개는 몇 마리 있을까 (Success) (0) | 2023.09.19 |