본문 바로가기
DataBase/MSSQL

MSSQL TOP 사용법 (행의 수를 지정하여 출력)

by 코딩이라구 2023. 6. 30.

이번에는 MSSQL에서 SELECT 문 사용 시 테이블의 레코드를 조회할 때 원하는 행의 수만큼 지정하여 화면에 출력하기 위한 구문에 대하여 알아보도록 하겠습니다. MySQL에서는 LIMIT 구문으로 사용되는 방식입니다.


MSSQL TOP

 

1. Top이란?

SELECT문을 통하여 테이블의 레코드를 조회할 경우 출력되는 결과 중 상위 N개만을 지정하여 화면에 출력하기 위한 방법입니다. 테이블의 데이터가 방대하거나 상위 몇 가지의 데이터만 보고 싶은 경우 사용하는 명령어입니다.

  • SELECT TOP [N개의 조회할 레코드 수] [컬럼명] FROM [테이블명] WHERE [조건절]

 

2. 사용 예제

테이블에 1~10의 데이터를 입력한 후 오름차순 또는 내림차순으로 출력하여 3개의 레코드만 출력하는 예제입니다.

-- TOP 명령어를 사용하여 상위 3개의 데이터만 출력
-- 오름차순
SELECT no
  FROM TEST
 ORDER BY no ASC;

-- 결과
1
2
3

오름차순으로 정렬하였을 경우 상위 3개의 데이터(1, 2, 3)만 출력되는 것을 확인하실 수 있습니다.

 

첫번째, 위와 같이 1~10까지의 데이터에서 높은 숫자대로 3개만 출력하는 쿼리문입니다.

-- TOP 명령어를 사용하여 상위 3개의 데이터만 출력
-- 내림차순
SELECT TOP 3 no
  FROM TEST
 ORDER BY no DESC;

-- 결과
10
9
8

또한, 내림차순으로 정렬하였을 경우 상위 3개의 데이터(10, 9, 8)만 출력되는 것을 확인하실 수 있습니다.

 

두 번째, 간단한 예시로 한국에서 가장 키가 큰 남자들의 순서대로 출력하는 쿼리문을 작성해 보겠습니다.

-- 테이블 한국(Korea)
-- 조회할 컬럼 이름(Name), 키(Height), 나이(Age)
-- 조건 남자(Man)

-- 한국에서 키가 큰 남자 조회 후 순서대로 100명을 출력하는 쿼리문
SELECT TOP 100 Name
      ,Height
      ,Age
  FROM Korea
 WHERE Gender = 'Man'
 ORDER BY Height DESC;

 


이번에는 MSSQL에서 유용하게 쓰이는 TOP 명령어에 대하여 알아보았습니다. 너무 방대한 양의 레코드를 조회하여 데이터를 받을 경우에는 N개를 지정하여 받아 더욱 효율적이고, 가시적인 데이터를 출력할 수 있는 방법이었습니다.

 


[MSSQL] 문자열 원하는 영역 자르기 (SUBSTRING, LEFT, RIGHT)

 

[MSSQL] 문자열 원하는 영역 자르기 (SUBSTRING, LEFT, RIGHT)

MSSQL 데이터베이스의 검색 방법에서 문자열을 원하는 길이(영역)의 문자열만큼 잘라서 조회해야 할 경우가 있습니다. 이번에는 MSSQL에서 문자열 자르기의 3가지 종류인 SUBSTRING, LEFT, RIGHT 함수에

chragu.com

댓글