MySQL의 LIMIT 절과 동일한 SQL Server
쿼리에서 반환되는 행 수를 제한하는 MySQL의 LIMIT 절에는 직접적으로 상응하는 절이 없습니다. SQL Server에서. 이는 실망스러울 수 있지만 몇 가지 해결 방법이 있습니다.
OFFSET/FETCH 구문(SQL Server 2012 이상)
SQL Server 2012 이상에서는 ANSI 표준 OFFSET / FETCH 구문을 페이지 매김에 사용할 수 있습니다. 다음 쿼리는 이 구문을 보여줍니다.
SELECT ID, Name, Price, Image FROM Products ORDER BY ID ASC OFFSET (@start_from - 1) ROWS FETCH NEXT @items_on_page ROWS ONLY;
ROW_NUMBER() 메서드(SQL Server 2012 이전)
SQL Server 2012 이전에는 ROW_NUMBER() 메서드 LIMIT를 시뮬레이션하는 데 사용할 수 있습니다. 절:
WITH o AS ( SELECT TOP ((@start_from - 1) + @items_on_page) RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC) /* , other columns */ FROM Products ) SELECT RowNum /* , other columns */ FROM o WHERE RowNum >= @start_from ORDER BY RowNum;
기타 해결 방법
위에 설명된 방법 외에도 커서나 임시 테이블 사용을 포함하여 다양한 해결 방법이 있습니다. 그러나 이러한 솔루션은 일반적으로 덜 효율적이고 더 복잡합니다.
Microsoft는 현재 페이지 매김 메커니즘의 한계를 인정했으며 향후 릴리스에서 SQL Server에 기본 LIMIT 지원을 추가하는 데 관심을 표명했다는 점에 유의하는 것이 중요합니다.
위 내용은 SQL Server에서 MySQL의 LIMIT 절을 복제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!