꿈꾸는 개발자의 블로그
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 오랜 기간 보호한 동물(1) 본문
Algorithm/Programmers
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 오랜 기간 보호한 동물(1)
aldrn29 2023. 2. 27. 11:27문제
1) 아직 입양을 못 간 동물 중, 2) 가장 오래 보호소에 있었던 동물 3) 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.
문제 풀이
- 두 테이블을 LEFT OUTER JOIN 후, ANIMAL_OUTS 테이블에 입양일이 없는 데이터를 찾기 위하여 WHERE 조건을 건다. (LEFT OUTER JOIN : 왼쪽에 오는 ANMAIL_INS 테이블의 데이터는 모두 조회하고, 오른쪽에 오는 ANIMAL_OUTS 테이블에 입양일이 없는 경우에는 NULL로 JOIN 하기 위함)
- 가장 오래 보호소에 있었던 동물을 구하기 위하여 보호시작일 순으로 정렬한다.
- 동물 3마리만 조회하기 위하여 ROWNUM을 사용한다.
전체 코드
SELECT NAME, DATETIME
FROM (
SELECT a.NAME, a.DATETIME
FROM ANIMAL_INS a LEFT OUTER JOIN ANIMAL_OUTS b ON a.ANIMAL_ID = b.ANIMAL_ID
WHERE b.ANIMAL_ID IS NULL
ORDER BY 2
)
WHERE ROWNUM <= 3
728x90
728x90
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 상품 별 오프라인 매출 구하기 (0) | 2023.02.27 |
---|---|
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 보호소에서 중성화한 동물 (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 있었는데요 없었습니다 (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 없어진 기록 찾기 (0) | 2023.02.27 |
[프로그래머스] Oracle - (SQL 고득점 Kit) JOIN 5월 식품들의 총매출 조회하기 (0) | 2023.02.27 |
Comments