Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

TOP в операторе SELECT




TOP -указывает на то, что будет возвращен только первый набор строк из результата запроса. Набор строк может быть либо числом, либо процентом. Предложение TOP может быть использовано в инструкциях SELECT, INSERT, UPDATE и DELETE.

expression - числовое выражение, которое задает количество возвращаемых строк. Аргумент expression прямо преобразуется в значение типа float, если указан PERCENT. В противном случае преобразуется в тип bigint.

 

Примечание: Разделение круглыми скобками в аргументе expression параметра TOP требуется в инструкциях INSERT, UPDATE и DELETE.

В следующем примере столбец VacationHours в таблице Employee обновляется на 25% для 10 произвольных строк.

USE AdventureWorks;

GO

UPDATE TOP (10) HumanResources.Employee

SET VacationHours = VacationHours * 1.25;

GO

 

В целях обратной совместимости использование TOP expression без скобок в инструкции SELECT поддерживается, но не рекомендуется к использованию.

Если запрос включает предложение ORDER BY, возвращаются первые expression строк или expression процентов строк, отсортированных посредством предложения ORDER BY. Если запрос не содержит предложение ORDER BY, порядок строк будет произвольным.

PERCENT - указывает на то, что запрос возвращает только первые expression процентов строк из результирующего набора.

WITH TIES - указывает на то, что будут возвращены дополнительные строки из основного результирующего набора с тем же значением в столбцах ORDER BY, которые появляются как последние из TOP n (PERCENT) строк.

Пример. Следующий пример для получения 10 работников, перечисленных в таблице dbo.Employee базы данных AdventureWorks (не задается ORDER BY).

USE AdventureWorks;

GO

SELECT TOP(10)*

FROM HumanResources.Employee;

GO

 

Пример. Следующий пример для получения 10 самых молодых работников, перечисленных в таблице dbo.Employee базы данных AdventureWorks (задается ORDER BY по полю BirthDate в порядке убывания).

USE AdventureWorks;

GO

SELECT TOP(10)*

FROM HumanResources.Employee

ORDER BY BirthDate DESC

Пример. Следующий пример извлекает первые 10 работников с наибольшей зарплатой и возвращает их в порядке убывания базовой ставки зарплаты. Указание параметра WITH TIES обеспечивает, что все работники с зарплатой, равной минимальной возвращенной зарплате, включены в результирующий набор, даже если это приведет к превышению ограничения в 10 записей.

USE AdventureWorks;

GO

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...