일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GROUPBY
- OrderBy
- Database
- 구현
- 누적합
- 그래프 탐색
- SQL
- 배포
- 다익스트라
- union find
- JOIN
- 코딩테스트
- 크루스칼
- BFS
- MST
- Baekjoon
- AWS
- 피로그래밍
- 프로그래머스
- 알고리즘
- 최단경로
- 자바
- SQL코딩테스트
- Pirogramming
- 프림
- Java
- db
- 백준
- django
- EC2
Archives
- Today
- Total
NullNull
프로그래머스 SQL 있었는데요 없었습니다 본문
Data 구조
ANIMAL_INS : 동물 보호소에 들어온 동물의 정보를 담은 테이블
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 |
ANIMAL_OUTS : 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블
NAME | TYPE | NULLABLE |
ANIMAL_ID | VARCHAR(N) | FALSE |
ANIMAL_TYPE | VARCHAR(N) | FALSE |
DATETIME | DATETIME | FALSE |
NAME | VARCHAR(N) | TRUE |
SEX_UPON_OUTCOME | VARCHAR(N) | FALSE |
문제
관리자의 실수로 일부 동물의 입양일이 잘못 입력되었습니다. 보호 시작일보다 입양일이 더 빠른 동물의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일이 빠른 순으로 조회해야 합니다.
예시
Input:
ANIMAL_INS
ANIMAL_ID | ANIMAL_TYPE | DATETIME | INTAKE_CONDITION | NAME | SEX_UPON_INTAKE |
A350276 | Cat | 2017-08-13 13:50:00 | Normal | Jewel | Spayed Female |
A381217 | Dog | 2017-07-08 09:41:00 | Sick | Cherokee | Neutered Male |
ANIMAL_OUTS
ANIMAL_ID | ANIMAL_TYPE | DATETIME | NAME | SEX_UPON_OUTCOME |
A350276 | Cat | 2018-01-28 17:51:00 | Jewel | Spayed Female |
A381217 | Dog | 2017-06-09 18:51:00 | Cherokee | Neutered Male |
Output:
ANIMAL_ID | NAME |
A381217 | Cherokee |
정답:
JOIN을 적절하게 사용하는 문제이다. 문제의 조건에서 보호 시작일보다 입양일이 더 빠른 동물을 조회하라는 말에 따르면 ANIMAL_INS에도 정보가 있어야 하고 ANIMAL_OUTS 에도 존재하는 데이터여야한다. 따라서 두 테이블에 모두 존재하는 데이터를 찾는 INNER JOIN을 해야한다. INNER JOIN을 완료한 이후에 ANIMAL_INS의 DATETIME과 ANIMAL_OUTS의 DATETIME을 비교한 뒤 ORDER BY 함수를 사용해서 쿼리를 완성하면 된다.
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS A INNER JOIN ANIMAL_OUTS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME > B.DATETIME
ORDER BY A.DATETIME;
'SQL' 카테고리의 다른 글
프로그래머스 SQL 보호소에서 중성화한 동물 (0) | 2022.03.01 |
---|---|
프로그래머스 SQL 오랜 기간 보호한 동물(1) (0) | 2022.03.01 |
프로그래머스 SQL 없어진 기록 찾기 (0) | 2022.03.01 |
MySQL DB JOIN 정리 (0) | 2022.03.01 |
프로그래머스 SQL NULL 처리하기 (0) | 2022.02.28 |
Comments