코딩 테스트 연습/프로그래머스
[프로그래머스] 상위 n개 레코드(Oracle, Lv1)
ThinkFree
2022. 2. 21. 04:42
테이블 구조
문제 설명
- ANIMAL_INS 테이블의 이름(NAME)을 조회해야 합니다.
- 이 때 결과는 가장 보호소에 먼저 들어온 동물 한마리만의 이름이 나와야합니다.
- 들어온 날짜 : 컬럼 DATETIME
- 먼저 들어온 : 순서 정렬 ORDER BY
- 가장 먼저 들어온 한마리 : 순번 ROWNUM
Solution_1
① 서브쿼리
- SELECT문을 이용하여 ANIMAL_INS를 조회합니다.
- ORDER BY절을 이용하여 동물들의 순서를 입양순서(DATETIME)순으로 정렬하여줍니다.
- 별칭(AS)은 아무거나 해도 상관이 없으므로 ANIMAL로 해주었습니다.
② 본 쿼리
- SELECT절을 이용하여 ANIMAL의 데이터 중 NAME 컬럼만을 조회합니다.
- 순번을 정해주는 ROWNUM을 조건(WHERE)에 사용하여 첫번째 동물의 데이터를 가져옵니다.
Solution_2
- 복잡한 서브쿼리 없이 행제한(FETCH)을 사용하여 첫번째 동물의 데이터를 가져올 수 있습니다.
- 오라클 12 버전 이후부터 가능한 풀이입니다.
출처
https://programmers.co.kr/learn/courses/30/lessons/59405
코딩테스트 연습 - 상위 n개 레코드
ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디
programmers.co.kr