Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureКонечная точка аналитики SQL в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Указывает столбцы, возвращаемые запросом Transact-SQL (T-SQL).
Соглашения о синтаксисе Transact-SQL
Syntax
SELECT [ ALL | DISTINCT ]
[ TOP ( expression ) [ PERCENT ] [ WITH TIES ] ]
<select_list>
<select_list> ::=
{
*
| { table_name | view_name | table_alias } .*
| {
[ { table_name | view_name | table_alias } . ]
{ column_name | $IDENTITY | $ROWGUID }
| udt_column_name [ { . | :: } { { property_name | field_name }
| method_name ( argument [ , ...n ] ) } ]
| expression
}
[ [ AS ] column_alias ]
| column_alias = expression
} [ , ...n ]
Arguments
ALL
Указывает, что в результирующем наборе могут появиться повторяющиеся строки.
ALL — это значение по умолчанию.
DISTINCT
Указывает, что в результирующем наборе могут появиться только уникальные строки. Значения NULL считаются равными для целей ключевого DISTINCT слова.
TOP (выражение) [ ПРОЦЕНТ ] [ WITH TIES ]
Указывает, что из результированного набора запроса возвращаются только указанный первый набор или процент строк. expression может быть либо числом, либо процентом от числа строк.
Хотя TOP <expression> без скобки поддерживается в SELECT инструкциях для обратной совместимости, избежать этого синтаксиса. Дополнительные сведения см. в разделе TOP.
<select_list>
Указывает столбцы, которые нужно выбрать для результирующего набора. Список выбора представляет собой серию выражений, отделяемых запятыми. Максимальное количество выражений, которые можно указать в списке выбора, равно 4096.
*
Указывает, что все столбцы из всех таблиц и представлений в предложении FROM должны быть возвращены. Столбцы возвращаются в таблице или представлении, как указано в FROM предложении, и в том порядке, в котором они существуют в таблице или представлении.
| table_name | view_nametable_alias.*
Ограничивает область * указанной таблицей или представлением.
column_name
Имя возвращаемого столбца.
Квалифицируйте column_name, чтобы предотвратить неоднозначную ссылку, например, когда две таблицы в FROM предложении имеют столбцы с повторяющимися именами. Например, SalesOrderHeaderSalesOrderDetail таблицы в AdventureWorks2025 базе данных имеют имя ModifiedDateстолбца. Если две таблицы присоединены к запросу, можно указать измененную дату SalesOrderDetail записей в списке выбора как SalesOrderDetail.ModifiedDate.
expression
Константа, функция, любая комбинация имен столбцов, констант и функций, подключенных оператором или операторами, или вложенным запросом.
$IDENTITY
Возвращает столбец идентификатора. Дополнительные сведения см. в разделе IDENTITY (Свойство),ALTER TABLE и CREATE TABLE.
Если в FROM предложении несколько таблиц содержит столбец со IDENTITY свойством, необходимо указать $IDENTITY определенное имя таблицы, например T1.$IDENTITY.
$ROWGUID
Возвращает столбец с идентификаторами GUID строки.
Если в FROM предложении имеется ROWGUIDCOL несколько таблиц, необходимо указать $ROWGUID определенное имя таблицы, например T1.$ROWGUID.
udt_column_name
Имя возвращаемого столбца определяемого пользователем типа среды CLR.
Note
SQL Server Management Studio возвращает пользовательские значения типов в двоичном представлении. Чтобы возвращать пользовательские значения типов в строковом или XML-формате, используйте CAST и CONVERT или CAST и CONVERT.
{ . | :: }
Указывает метод, свойство или поле пользовательского типа CLR. Используйте период () для метода экземпляра (.нестатического), свойства или поля. Используйте двойную двоеточие (::) для статического метода, свойства или поля. Чтобы вызвать метод, свойство или поле определяемого пользователем типа СРЕДЫ CLR, необходимо иметь EXECUTE разрешение на тип.
property_name
Общедоступное свойство udt_column_name.
field_name
Общедоступный член данных udt_column_name.
method_name
Общедоступный метод udt_column_name , который принимает один или несколько аргументов. method_name не может быть методом мутатора.
В следующем примере выбираются значения для Location столбца, определенного как точка типа, из Cities таблицы, путем вызова метода вызываемого Distanceтипа:
CREATE TABLE dbo.Cities
(
Name VARCHAR (20),
State VARCHAR (20),
Location POINT
);
GO
DECLARE @p AS POINT (32, 23),
@distance AS FLOAT;
SELECT Location.Distance(@p)
FROM Cities;
column_alias
Альтернативное имя для замены имени столбца в результирующем наборе запросов. Например, псевдоним, например Quantity, или QtyQuantityDateдля столбца с именем.quantity
Псевдонимы можно использовать для указания имен результатов выражений, например:
USE AdventureWorks2025;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias можно использовать в предложении ORDER BY . Однако его нельзя использовать в предложении или GROUP BYHAVING предложенииWHERE. Если выражение запроса является частью DECLARE CURSOR инструкции, column_alias нельзя использовать в предложении FOR UPDATE .
Remarks
При включении текстовых или ntext-столбцов в список выбора длина возвращаемых данных является наименьшим значением следующих параметров:
- фактический размер текстового столбца,
- параметр сеанса по умолчанию
TEXTSIZEили - ограничение закодированного приложения.
Чтобы изменить длину возвращаемого текста для сеанса, используйте инструкцию SET . По умолчанию ограничение длины текстовых данных, возвращаемых оператором SELECT , составляет 4000 байт.
Ядро СУБД SQL Server вызывает исключение 511 и откатает текущую инструкцию выполнения, если происходит одно из следующих действий:
Оператор
SELECTсоздает результирующий или промежуточный рабочий стол, превышающий 8060 байт.Оператор
DELETE,INSERTилиUPDATEинструкция пытается выполнить действие в строке, превышающей 8 060 байтов.
Ошибка возникает, если не указать имя столбца для столбца, созданного оператором или CREATE VIEW операторомSELECT INTO.