728x90
문제
-- 아직 입양을 못 간 동물 중,
-- 가장 오래 보호소에 있었던
-- 동물 3마리의 이름과 보호 시작일을 조회
-- 결과는 보호 시작일 순으로 조회
풀이방법
-- 차집합은 LEFT(또는 RIGHT) JOIN 사용
-- WHERE문을 이용해 비교_컬럼명 IS NULL을 이용한 차집합을 완성함
* JOIN을 알아보자
기준 : A와 B라는 테이블이 있다는 전제.
1. INNER JOIN : 교집합
2. LEFT JOIN : 차집합(A에만 있는 부분만 추출)
3. RIGHT JOIN : 차집합(B에만 있는 부분만 추출)
4. OUTER JOIN : 합집합
나의 코드
SELECT
INS.NAME,
INS.DATETIME
FROM ANIMAL_INS INS
LEFT JOIN ANIMAL_OUTS OUTS ON OUTS.ANIMAL_ID LIKE INS.ANIMAL_ID
WHERE OUTS.ANIMAL_ID IS NULL
ORDER BY INS.DATETIME LIMIT 3
레퍼런스 코드
JOIN의 이해 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=islove8587&logNo=220953972194
728x90
'알고리즘 저장소 (일반방식과 나만의 풀이) > SQL' 카테고리의 다른 글
[Programmers] no59042: 없어진 기록 찾기 [LEFT/RIGHT JOIN 사용] (0) | 2023.03.22 |
---|---|
[Programmers] no59043: 있었는데요 없었습니다 (0) | 2023.03.22 |
[Programmers] no77487: 헤비 유저가 소유한 장소 (0) | 2023.03.21 |
[Programmers] no131113: 조건별로 분류하여 주문상태 출력하기 (0) | 2023.03.21 |
[Programmers] no131123: 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.03.20 |