https://programmers.co.kr/learn/courses/30/lessons/59043
코딩테스트 연습 - 있었는데요 없었습니다
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr
여기서는 INNER JOIN, LEFT JOIN을 써도 맞다
- 나는 정말 단순하게 IN, OUT 정보를 연결하여 이 두 테이블에 대한 교집합이 필요하다고 생각했고, 테이블 예시에서도 두 테이블의 교집합이 결과로 나오는 걸 보고 INNER JOIN을 사용했다.
- 찾아보니 대부분의 사람들은 LEFT JOIN을 사용한 것 같다. 어차피 WHERE절로 인해 조건에 해당하는 값만 찾을테니 두 개 다 사용 없는 듯 하다.
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_OUTS A
INNER JOIN ANIMAL_INS B
ON A.ANIMAL_ID = B.ANIMAL_ID
WHERE A.DATETIME < B.DATETIME -- 보호 시작일보다 입양일이 더 빨라야 함
ORDER BY B.DATETIME -- 보호 시작일이 빠른 순으로 조회'SQL' 카테고리의 다른 글
| [프로그래머스 SQL] 보호소에서 중성화한 동물 (0) | 2021.08.29 |
|---|---|
| [프로그래머스 SQL] 오랜 기간 보호한 동물(1) (0) | 2021.08.29 |
| [프로그래머스 SQL] 없어진 기록 찾기 (0) | 2021.08.28 |
| [프로그래머스 SQL]NULL 처리하기 -> IFNULL, CASE WHEN (0) | 2021.08.28 |
| [프로그래머스 SQL] 입양 시각 구하기(1) (0) | 2021.08.25 |