0. 문제 소개
출처 : 프로그래머스
언어 : MySQL
제목 : 아픈 동물 찾기
레벨 : Lv1
분류 : SELECT
https://school.programmers.co.kr/learn/courses/30/lessons/59036
1. 문제 조건 및 요구사항
문제 )
동물 보호소에 들어온 동물 중 아픈 동물1의 아이디와 이름을 조회하는 SQL 문을 작성해주세요.
이때 결과는 아이디 순으로 조회해주세요.
문제 조건 )
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다.
ANIMAL_INS 테이블 구조는 다음과 같으며,
ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는
각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
출력 조건 )
2. 정답 풀이
동물 보호소에 들어온 동물 중 아픈 동물(아픔을 표현하는 방법 확인하기)의 아이디와 이름을 조회(select할 값은 아이디와 이름)하는 SQL 문
이때 결과는 아이디 순으로 조회해주세요. (order by 사용)
문제에서 동물의 상태 표현은 INTAKE_CONDITION 속성으로 표현하고 있는데 예시에는 Normal, Sick, Aged 이렇게 세 개의 값만 나와있다. 출력 결과를 보면 Sick만 아픈 동물로 취급하고 Aged 처럼 노화 여부는 신경 쓰지 않는다.
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE INTAKE_CONDITION = 'Sick';
Sick이 아닌 다른 값인 ('Normal', 'Aged') 에 속하지 않는다는 의미로
WHERE INTAKE_CONDITION NOT IN ('Normal', 'Aged');으로 표현해도 되지만
INTAKE_CONDITION 의 값으로 딱 세 가지만 존재한다는 보장이 없기 때문에
Sick을 명시적으로 지정하는 것이 더 정확하다
'[ Computer Science ] > Database_sql' 카테고리의 다른 글
[Database/midterm] SQL 문법 기초 (11) | 2024.10.19 |
---|---|
[Database/midterm] 데이터베이스 설계 (개념적, 논리적) (2) | 2024.10.19 |
[Database/MySQL] 실습을 위한 초기 데이터 생성 (4) | 2024.10.17 |
[프로그래머스/MySQL] Lv. 1 평균 일일 대여 요금 구하기 (SELECT) (7) | 2024.10.17 |
[프로그래머스/MySQL] Lv. 1 역순 정렬하기 (SELECT) (0) | 2024.10.17 |
[프로그래머스/MySQL] Lv. 1 가장 비싼 상품 구하기 (SUM, MAX, MIN) (0) | 2024.10.17 |
[Database/MySQL] 데이터베이스와 테이블 생성 후 조회하기 ( error 1046, error 1049, err 1065 ) (3) | 2024.10.01 |