본문 바로가기
SQL 문제 풀기/1. 프로그래머스 SQL : 2023.12.17~2024.2.29

<프로그래머스 42> 루시와 엘라 찾기(Lv.2)

by HYEHYE_SON 2024. 1. 27.
728x90

 

프로그래머스에서 제공하는 SQL문제 매일 풀기 챌린지


문제 설명 

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.
ANIMAL_INS 테이블 구조는 다음과 같으며,
ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는
각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

 

NAME TYPE NULLABLE
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 문을 작성해 주세요.

 

예시

이때 결과는 아이디 순으로 조회해주세요. 예를 들어 ANIMAL_INS 테이블이 다음과 같다면

 

ANIMAL_ID ANIMAL_TYPE DATETIME INTAKE_CONDITION NAME SEX_UPON_INTAKE
A373219 Cat 2014-07-29 11:43:00 Normal Ella Spayed Female
A377750 Dog 2017-10-25 17:17:00 Normal Lucy Spayed Female
A353259 Dog 2016-05-08 12:57:00 Injured Bj Neutered Male
A354540 Cat 2014-12-11 11:48:00 Normal Tux Neutered Male
A354597 Cat 2014-05-02 12:16:00 Normal Ariel Spayed Female

 

SQL문을 실행하면 다음과 같이 나와야 합니다.

ANIMAL_ID NAME SEX_UPON_INTAKE
A373219 Ella Spayed Female
A377750 Lucy Spayed Female

 


본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.


정답

select animal_id, name, sex_upon_intake
    from animal_ins
    where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
    order by animal_id;

 

해설하기

# 1. SELECT절
출력할 컬럼명들을 나열한다.

# 2. FROM 절
데이터를 가져올 컬럼명을 입력해준다.

# 3. WHERE 절

-- 조건절에 IN 사용
WHERE [컬럼명] IN ( [ 콤마를 구분으로 하여 조건 나열 ] )

name = 'Lucy'  or name = 'Ella'  or ... 등  등호(=)로 조건을 주고
or 연산자로 연결할 수 있는 조건이 여러 개 있을 때 IN을 사용할 수 있음

즉, 문제의 답처럼 조건을 주었을 때

where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')

IN 뒤의 괄호 안의 조건들은 or 연산자를 기준으로 구분됨

해석하면,
이름이 Lucy 이거나 이름이 Ella이거나 이름이 Picle 이거나 ... 동물의 아이디와 이름, 성별 및 중성화 여부를 조회하기 위해 넣음 

 

결과 출력

 

 

 

 

 

 

출처 : 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

반응형