[프로그래머스_1] 상위 n개 레코드 MySQL, Oracle

2022. 4. 9. 18:46·알고리즘/SQL 풀이
반응형

 

 

코딩테스트 연습 - 상위 n개 레코드

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디

programmers.co.kr

 

 

문제

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

동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요.

 

SQL(MySQL)

SELECT NAME FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1;

 

반응형

 

SQL(Oracle)

SELECT NAME FROM 
    (SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME)
WHERE ROWNUM <= 1

와 오라클로 할 때 내 기억으로는 'TOP'을 사용했던 거 같아 TOP을 사용하니 계속해서 에러가 발생했다. 눈물을 머금고 구글에 검색해보니 ROWNUM을 사용해서 상위 몇개를 추출하는 방식을 찾을 수 있었다.

ROWNUM은 ORACLE 내부에서 눈에 보이지 않는 가상 컬럼인데, 테이블을 조회한 결과를 가져올 때 컬럼에 순번을 붙인다. ROWNUM을 이용해 동물을 찾으려면 서브쿼리를 어쩔 수 없이 이용해야 한다.  여기에서 사용한 서브쿼리는 '인라인뷰' 서브쿼리이며, 인라인뷰 서브쿼리는 위의 코드와 같이 FROM 절에서 서브쿼리를 지칭한다. 

반응형
반응형

 

 

실행 결과

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)
'알고리즘/SQL 풀이' 카테고리의 다른 글
  • [프로그래머스_2] 루시와 엘라 찾기 Oracle
  • [프로그래머스_2] 고양이와 개는 몇 마리 있을까 Oracle
  • [프로그래머스_1] 여러 기준으로 정렬하기 Oracle
  • [프로그래머스_1] 동물의 아이디와 이름 Oracle
데부한
데부한
어차피 할 거면 긍정적으로 하고 싶은 개발자
    반응형
  • 데부한
    동동이개발바닥
    데부한
  • 전체
    오늘
    어제
    • 분류 전체보기 (307)
      • 방통대 컴퓨터과학과 (27)
        • 잡담 (9)
        • 3학년1학기 (17)
      • 프로젝트 및 컨퍼런스 회고 (1)
        • 프로젝트 (4)
        • 한이음 프로젝트 (0)
        • 회고 (3)
      • 공부 (165)
        • Spring (37)
        • JPA (71)
        • 인프런 워밍업 클럽_BE (10)
        • Java (6)
        • React.js (27)
        • 넥사크로 (11)
        • 기타 (3)
      • 알고리즘 (85)
        • 알고리즘 유형 (10)
        • 알고리즘 풀이 (57)
        • SQL 풀이 (18)
      • 에러 해결 (13)
      • 잡담 (7)
        • 국비교육 (2)
        • 구매후기 (5)
        • 진짜 잡담 (0)
  • 블로그 메뉴

    • Github
    • Linkedin
    • 홈
    • 방명록
    • 글쓰기
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발자
    oracle
    MSA
    QueryDSL
    자바스크립트
    프론트엔드
    토비의스프링부트
    토이프로젝트
    Java
    프로그래머스
    Spring
    운영체제
    인프런
    springboot
    RESTful
    기출문제
    egov
    방통대
    react
    백준
    IT
    JPA
    알고리즘
    코딩테스트
    에러해결
    전자정부프레임워크
    SQL
    SpringBoot를 이용한 RESTful Web Service 개발
    스프링부트
    넥사크로
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
데부한
[프로그래머스_1] 상위 n개 레코드 MySQL, Oracle
상단으로

티스토리툴바