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 |
문제
동물 보호소에 들어온 동물 중 아픈 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요. 이때 결과는 아이디 순으로 조회해주세요.
예시
예를 들어 ANIMAL_INS 테이블이 다음과 같다면
ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
A365172 | Dog | 2014-08-26 12:53:00 | Normal | Diablo | Neutered Male |
A367012 | Dog | 2015-09-16 09:06:00 | Sick | Miller | Neutered Male |
A365302 | Dog | 2017-01-08 16:34:00 | Aged | Minnie | Spayed Female |
A381217 | Dog | 2017-07-08 09:41:00 | Sick | Cherokee | Neutered Male |
이 중 아픈 동물은 Miller와 Cherokee입니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.
ANIMAL_ID | NAME |
A367012 | Miller |
A381217 | Cherokee |
본 문제는 Kaggle의 "Austin Animal Center Shelter Intakes and Outcomes"에서 제공하는 데이터를 사용하였으며 ODbL의 적용을 받습니다.
정답
select animal_id, name
from animal_ins
where intake_condition = 'Sick'
order by animal_id;
해설해보기
animal_ins 테이블에서
animal_id, name을 추출하는데,
intake_condtion 의 값이 아픈 상태인 즉 'Sick'인
동물의 아이디와 이름을 추출하는 문장이다.
또한 조회 순서는 animal_id를 기준으로 오름차순으로 정렬했다.
주의할것은 INTAKE_CONDITION에 아픈 동물의 상태가
대소문자를 구분하는 형태로 들어가 있어서,
첫글자만 대문자 나머지는 소문자 형태로 작성해야 출력된다.
그렇지 않으면 아무 레코드도 출력되지 않는다.
(아래 결과 사진 참조)
결과 출력
대소문자 구분하지 않고 입력해버리면 나타나는 결과
출처 : 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
반응형
'SQL 문제 풀기 > 1. 프로그래머스 SQL : 2023.12.17~2024.2.29' 카테고리의 다른 글
<프로그래머스 9> 어린 동물 찾기(Lv.1) (2) | 2023.12.25 |
---|---|
<프로그래머스 8> 역순 정렬하기(Lv.1) (0) | 2023.12.24 |
<프로그래머스 6> 이름이 있는 동물의 아이디(Lv.1) (2) | 2023.12.22 |
<프로그래머스 5> 나이 정보가 없는 회원 수 구하기(Lv.1) (2) | 2023.12.21 |
<프로그래머스 4> 강원도에 위치한 생산공장 목록 출력하기(Lv.1) (2) | 2023.12.20 |