MySQL에서 특정 개수의 행만 조회할 때 사용하는 LIMIT 절은 SQL Server에서 지원되지 않습니다. 대신 TOP 키워드를 사용해야 합니다. 기본 문법은 다음과 같습니다.
SELECT TOP(1) * FROM yourTableName WHERE yourCondition;
예제 테이블 생성
위 문법을 실제로 이해하기 위해 먼저 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
create table TopDemoInSQLServer ( Id int, Name varchar(10) );
테이블이 정상적으로 생성된 모습은 아래와 같습니다.

데이터 삽입
INSERT 명령을 사용하여 테이블에 여러 개의 레코드를 추가해 보겠습니다. 쿼리는 다음과 같습니다.
insert into TopDemoInSQLServer values(10,'John'); insert into TopDemoInSQLServer values(14,'Carol'); insert into TopDemoInSQLServer values(1,'Sam'); insert into TopDemoInSQLServer values(11,'Bob'); insert into TopDemoInSQLServer values(18,'David'); insert into TopDemoInSQLServer values(20,'Sam');
레코드가 테이블에 삽입된 모습입니다.

전체 데이터 조회
SELECT 문을 사용하여 테이블의 모든 레코드를 확인해 보겠습니다.
select *from TopDemoInSQLServer;
테이블의 전체 레코드가 출력된 결과입니다.

실행 결과

LIMIT 1 대신 TOP(1) 적용하기
이제 MySQL의 LIMIT 1 대신 TOP(1)을 사용하는 쿼리를 살펴보겠습니다.
select TOP(1) *from TopDemoInSQLServer where Name = 'Carol';
위 쿼리를 실행한 화면은 다음과 같습니다.

샘플 출력 결과는 아래와 같습니다.

실행 결과를 보면 Name이 'Carol'인 행 중 첫 번째 행 하나만 반환된 것을 확인할 수 있습니다. 이처럼 SQL Server에서는 MySQL의 LIMIT 대신 TOP 키워드를 사용하여 원하는 만큼의 행 수를 손쉽게 제한할 수 있습니다.