새소식

Programmers Coding Test/MySQL

[프로그래머스 59407] MySQL - Level1 이름이 있는 동물의 아이디

  • -

 

이름이 있는 동물의 아이디

 

https://school.programmers.co.kr/learn/courses/30/lessons/59407

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

1)  문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. 

ANIMAL_INS 테이블 구조는 다음과 같으며,

ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는
각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
동물 보호소에 들어온 동물 중, 이름이 있는 동물의 ID를 조회하는 SQL 문을 작성해주세요. 
단, ID는 오름차순 정렬되어야 합니다.

 

 

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

 

 

 

 

 

2)  예시

 

예를 들어 ANIMAL_INS 테이블이 다음과 같다면

 

ANIMAL_ID ANIMAL_TYPE DATETIME INTAKE_CONDITION NAME SEX_UPON_INTAKE
A434523 Cat 2015-11-20 14:18:00 Normal Spayed Female
A562649 Dog 2014-03-20 18:06:00 Sick Spayed Female
A524634 Dog 2015-01-02 18:54:00 Normal *Belle Intact Female
A465637 Dog 2017-06-04 08:17:00 Injured *Commander Neutered Male

 

이름이 있는 동물의 ID는 A524634와 A465637입니다. 따라서 SQL을 실행하면 다음과 같이 출력되어야 합니다.

 

 

 

ANIMAL_ID
A465637
A524634

 

 

 

3)  풀이

 

1. 모든 동물의 아이디(ANIMAL_ID)를 조회합니다.

● SELECT ANIMAL_ID FROM ANIMAL_INS

 

2. 이름이 있는 동물을 찾습니다.

● WHERE NAME IS NOT NULL

※ NULL의 경우, 연산자로 비교할 수 없습니다.

즉, NAME != 'NULL'이 불가능하므로, NAME IS NOT NULL로 표현합니다.

(반대의 경우, NAME IS NULL)

 

3. 아이디순으로 정렬합니다.

● ORDER BY ANIMAL_ID

 

 

 

 

 

4)  코드

 

SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID;

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.