ToBe끝판왕

[ 프로그래머스 / SQL ] SELECT문 - 상위 n개 레코드 본문

■ 프로그래밍 SKILLS/SQL

[ 프로그래머스 / SQL ] SELECT문 - 상위 n개 레코드

업그레이드중 2022. 6. 9. 18:10
반응형

 


 

상위 n개 레코드

 

Programmers의 SQL 고득점 Kit

SELECT 문제

 

 

 해당 문제 링

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

 


 

정답 및 풀이

 

▶  SELECT 문

•  SELECT 문은 데이터베이스를 이용하면서 가장 많이 이용하는 쿼리문이다.

•  데이터 조작 언어( DML )중 하나이다.

•  데이터베이스에서 데이터를 조회( 검색 ) 하는 DQL( Data Query Language )이다.

 

 

▶  ORDER BY 절

-  조회된 데이터들을 특정 칼럼을 기준으로 정렬하여 출력하는 데 사용한다.

-  컬럼명 대신 별칭명이나 컬럼 순서를 나타내는 정수도 사용 가능하다.

-  별도로 정렬 방식을 지정하지 않는다면 기본적으로 오름차순이 적용된다.

-  SELECT문 맨 마지막에 사용해야 한다.

ORDER BY 특정 컬럼명 / 별명 / 칼럼순서(정수) [ ASC / DESC ];

 

※ 오름차순 ( ASC ) / 내림차순 ( DESC )

-  오름차순은 가장 작은 값이 위로 온다.

-  내림차순은 가장 큰 값이 위로 온다.

 

 

▶  정답

-  가장 먼저 들어온 동물의 이름을 조회하므로 SELECT문 뒤에 이름을 쓰고 , 가장 먼저 이므로

   보호 시작일이 오름차순으로 정렬되었을 때 가장 위에 위치한 동물이라고 보면 된다.

SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME
LIMIT 1;

 


 

※ 참고사항

LIMIT 키워드는 위에서부터 지정한 개수만큼의 데이터를 보여준다.

SELECT * FROM 테이블명 LIMIT 숫자;


숫자 부분은 
LIMIT 시작위치, 반환갯수; 
로도 쓸수 있다.

 

상위 지정한 갯수만큼의 데이터를 보여주는 것은 RDBMS( 관계형 데이터 베이스 관리 시스템 )의 종류에

따라 문법이 달라진다.

예로 상위 10개의 데이터를 조회하는 경우를 보자

 

•  SQL SERVER

SELECT TOP 10 NAME, EMAIL, PHONE
FROM USERINFO;

•  ORACLE

SELECT NAME, EMAIL, PHONE
FROM USERINFO
WHERE ROWNUM <=10;

•  MYSQL

SELECT NAME, EMAIL, PHONE
FROM USERINFO
LIMIT 10;

 

 

 

반응형
Comments