코딩 테스트 연습/프로그래머스

[프로그래머스] 상위 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