반응형
programmers.co.kr/learn/courses/30/lessons/59411
코딩테스트 연습 - 오랜 기간 보호한 동물(2)
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
외래 키로 다른 테이블을 참조하여 원하는 데이터를 얻는 문제였습니다.
풀이방법
1. 테이블 및 열 선택 : 먼저 테이블을 선택합니다. ANIMAL_INS를 A로 정의하고 ANIMAL_OUTS를 B로 정의합니다. 그 후 열을 선택합니다. A테이블의 열들인 ANIMAL_ID, NAME을 선택합니다.
2. 조건 세우기 : WHERE절을 이용해 두 동물의 아이디가 같을 때 데이터를 가져오도록 설정합니다.
3. 정렬 : 보호된 기간이 가장 오래되었다는 말은 ANIMAL_OUTS의 DATETIME열 - ANIMAL_INS의 DATETIME열을 시행하게 되면 보호된 기간이 나오므로 이 값이 가장 큰 값이라고 할 수 있습니다. 따라서 ORDER BY를 이용해 해당 조건을 설정하고 내림차순으로 정렬합니다.
4. 표현할 행 수 정하기 : LIMIT 2로 설정해 표시할 행의 개수를 2개로 제한합니다.
Code
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A, ANIMAL_OUTS B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY B.DATETIME - A.DATETIME DESC
LIMIT 2
'Algorithm > SQL' 카테고리의 다른 글
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 있었는데요 없었습니다 (0) | 2021.03.12 |
---|---|
(MYSQL) - 프로그래머스 (SQL 고득점 kit - JOIN) : 없어진 기록 찾기 (2) | 2021.03.08 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - GROUP BY) : 입양 시각 구하기(1) (0) | 2021.03.08 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - GROUP BY) : 동명 동물 수 찾기 (0) | 2021.03.08 |
(MYSQL) - 프로그래머스 (SQL 고득점 kit - GROUP BY) : 고양이와 개는 몇 마리가 있을까 (0) | 2021.03.08 |