Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 어린 동물 찾기 (MySQL) 본문

DB/프로그래머스(MySQL)

[프로그래머스] - 어린 동물 찾기 (MySQL)

luke-king 2024. 9. 16. 15:47

 

 

 

 

 

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/59037#fnref1

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

 

풀이.


 

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE INTAKE_CONDITION != "Aged"
ORDER BY ANIMAL_ID

 

이번 문제는 프로그래머스 MySQL의 "어린 동물 찾기" 문제다.

지문을 읽으면 젊은 동물인 Diablo, Miller, cherokee를 출력하면 된다. 또 지문 밑을 보면 INTAKE_CONDITION의 컬럼 값인 "Aged"가 아닌 값들을 출력하면 되는 조건이 있다.

그럼 바로 풀이 해보겠다.

 

1. ANIMAL_ID, NAME의 컬럼 값들을 출력하기에 SELECT 문에는 두가 지만 적어준다.

 

2. 조건 WHERE절을 사용해 INTAKE_CONDITION 이 "Aged"가 아닌 값들을 출력해 낸다.

 

3. ANIMAL_ID 오름차순으로 정렬해야 하기에 ORDER BY ANIMAL_ID를 사용하면 끝이다.

(ORDER BY의 default 값은 asc(오름차순)이다. 그러므로 생략이 가능하다.)

 

또 다르게 쿼리문을 짤 수 있는데 확인해 보자.

SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE NOT INTAKE_CONDITION IN("Aged")
ORDER BY ANIMAL_ID

 

조건 절에 != 사용해 부정의 의미를 사용했지만 다른 방법도 있다.

바로 NOT을 사용하는 거다. NOT 또한 WHERE절의 부정 의미이므로 NOT과 IN("Aged")를 사용해 주면

똑같은 값이 나오는 걸 확인할 수 있다.