https://programmers.co.kr/learn/courses/30/lessons/59046
코딩테스트 연습 - 루시와 엘라 찾기
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
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 |
[풀이]
동물 보호소에 들어온 동물 중 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물의 아이디와 이름, 성별 및 중성화 여부를 아이디 순으로 조회해야 한다.
1. 동물 보호소에 들어온 동물이 들어있는 ANIMAL_INS 테이블에서 값을 조회할 것이므로 FROM 절에 ANIMAL_INS를 작성한다.
2. 이름이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물은 ANIMAL_INS 테이블의 NAME이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty인 동물을 찾으면 된다. 이름은 문자열 타입이므로 "" 안에 넣어서 비교해야 한다.
또한 Lucy이거나 Ella이거나 Pickle이거나 Rogan이거나 Sabrina이거나 Mitty인 동물이므로 OR을 이용해야 한다.
따라서 WHERE절에서 NAME="Lucy" NAME="Ella" NAME = "Pickle" NAME = "Rogan" NAME = "Sabrina" NAME = "Mitty"를 OR로 연결한다.
WHERE NAME = "Lucy" OR NAME = "Ella" OR NAME = "Pickle" OR NAME = "Rogan" OR NAME = "Sabrina" OR NAME = "Mitty"
3. 조건을 만족하는 동물의 아이디, 이름, 성별 및 중성화 여부를 조회할 것이므로 SELECT절에는 ANIMAL_ID, NAME, SEX_UPON_INTAKE를 작성한다.
4. 아이디 순으로 조회할 것이므로 ORDER BY 절에 ANIMAL_ID를 작성한다.
[코드]
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME = "Lucy" OR NAME = "Ella" OR NAME = "Pickle" OR NAME = "Rogan" OR NAME = "Sabrina" OR NAME = "Mitty"
ORDER BY ANIMAL_ID
'SQL > 프로그래머스' 카테고리의 다른 글
[프로그래머스/SQL] 오랜 기간 보호한 동물(2)(MySQL) (0) | 2021.11.06 |
---|---|
[프로그래머스/SQL] 이름에 el이 들어가는 동물 찾기(MySQL) (0) | 2021.11.06 |
[프로그래머스/SQL] 보호소에서 중성화한 동물(MySQL) (0) | 2021.10.31 |
[프로그래머스/SQL] 오랜 기간 보호한 동물(1)(MySQL) (0) | 2021.10.31 |
[프로그래머스/SQL] 있었는데요 없었습니다(MySQL) (0) | 2021.10.31 |