Оператор SQL TOP


Оператор SQL TOP позволяет ограничить выборку числа записей до заданного числа. При использовании оператора SQL TOP совместно с оператором SQL ORDER BY, на вывод пойдет первые N записей отсортированного списка, в противном случае, выведутся первые N строк таблицы.

Используется только в СУБД MS SQL Server! Аналогом в MySQL является оператор SQL LIMIT.

Оператор SQL TOP имеет следующий синтаксис:

TOP ( N [PERCENT] )

Параметр PERCENT позволяет задать количество строк в процентах. Эта возможность появилась в MS SQL Server 2012.


Примеры оператора SQL TOP. Имеется следующая таблица Artists:

Singer Album Year Sale
The Prodigy Invaders Must Die 2008 1200000
Drowning Pool Sinner 2001 400000
Massive Attack Mezzanine 1998 2300000
The Prodigy Fat of the Land 1997 600000
The Prodigy Music For The Jilted Generation 1994 1500000
Massive Attack 100th Window 2003 1200000
Drowning Pool Full Circle 2007 800000
Massive Attack Danny The Dog 2004 1900000
Drowning Pool Resilience 2013 500000

Пример 1. Используя оператор SQL TOP вывести первые 4 строки таблицы:

SELECT TOP(4) * FROM Artists

Результат:

Singer Album Year Sale
The Prodigy Invaders Must Die 2008 1200000
Drowning Pool Sinner 2001 400000
Massive Attack Mezzanine 1998 2300000
The Prodigy Fat of the Land 1997 600000

Пример 2. Используя оператор SQL TOP вывести 3 самых свежих альбома (название и год выпуска):

SELECT TOP(3) Album, Year FROM Artists ORDER BY Year

Результат:

Album Year
Resilience 2013
Invaders Must Die 2008
Full Circle 2007