루시와 엘라 찾기
String, Date
루시와 엘라 찾기
문제 설명
다음은 동물 보호소에 들어온 동물의 정보를 담은 ANIMAL_INS 테이블입니다.
ANIMAL_INS 테이블
Column name | Type | Nullable | Description |
---|---|---|---|
ANIMAL_ID | VARCHAR(N) | FALSE | 동물의 아이디 |
ANIMAL_TYPE | VARCHAR(N) | FALSE | 생물 종 |
DATETIME | DATETIME | FALSE | 보호 시작일 |
INTAKE_CONDITION | VARCHAR(N) | FALSE | 보호 시작 시 상태 |
NAME | VARCHAR(N) | TRUE | 이름 |
SEX_UPON_INTAKE | VARCHAR(N) | FALSE | 성별 및 중성화 여부 |
문제
동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하는 SQL 문을 작성해주세요. 결과는 아이디 순으로 조회해주세요.
풀이 과정
- 조건 확인
- 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물을 조회하기
- IN 연산자 사용
- 여러 개의 특정 값을 조회해야하니 는 IN 연산자를 사용
NAME
IN (‘Lucy’, ‘Ella’, ‘Pickle’, ‘Rogan’, ‘Sabrina’, ‘Mitty’)로 필요한 이름들을 지정해서 찾기
- 결과 정렬
- 정렬 기준에 따라 ORDER BY로 결과 정렬
**ANIMAL_ID**
기준 오름차순 정렬
- 정렬 기준에 따라 ORDER BY로 결과 정렬
- 최종 결과 출력
- SELECT 절에서
ANIMAL_ID
,NAME
,SEX_UPON_INTAKE
출력
- SELECT 절에서
- 교훈
- 정답은 맞았지만, UPPER 나 LOWER 처리하고 조건 찾아야 하는 것이 더 안전할 것 같다.
정답
1
2
3
4
5
6
7
8
9
10
SELECT
ANIMAL_ID,
NAME,
SEX_UPON_INTAKE
FROM
ANIMAL_INS
WHERE
NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
ORDER BY
ANIMAL_ID;
Tip
IN 연산자 사용법
- IN 연산자는 특정 값 집합 중 하나에 해당하는 행을 필터링할 때 사용됨. 지정된 이름들 중 하나와 일치하는 모든 행을 반환합니다.
개념 확인
- IN 연산자
- 여러 값을 한 번에 비교하여 조건을 충족하는 데이터를 필터링
- WHERE 컬럼명 IN (값1, 값2, 값3, …)
Useful link
This post is licensed under Park Juyoung by the author.