[프로그래머스 / SQL] Lv.1 상위 n개 레코드

SOYEON JEONG·2023년 3월 5일
0

SQL 코딩테스트

목록 보기
6/8

문제 설명

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.
동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

풀이

SELECT NAME FROM
(SELECT * FROM ANIMAL_INS ORDER BY DATETIME ASC)
WHERE ROWNUM = 1;

과정

  1. SELECT : NAME을 조회하기
  2. 서브쿼리 : 가장 먼저 들어온 동물을 찾기 위해 DATETIME을 오름차순으로 정렬
  3. WHERE : 가장 먼저 들어온 동물은 컬럼 가장 위에 있을 것이므로 ROWNUM = 1인 NAME 출력

개선

  1. 정렬된 테이블에서 값을 가져와야하기 때문에 서브쿼리를 쓰지 않으면 오류

추가

  1. ROWNUM : 조회순번, 특정 개수만큼 원하는 데이터를 추출하고 싶을 때 사용
profile
인프런에 취업하고 싶어!

0개의 댓글