SELECT Clause (Transact-SQL)
Określa kolumn, które mają być zwrócone przez kwerendę.
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 ]
Argumenty
ALL
Określa, że zduplikowane wiersze mogą być wyświetlane zestaw wyników.WSZYSTKO jest domyślnym.DISTINCT
Określa, że tylko unikatowe wiersze mogą być wyświetlane zestaw wyników.Wartości Null są traktowane jako równe do celów słowo kluczowe DISTINCT.TOP ( expression ) [PROCENT] [POWIĄZAŃ]
Indicates that only a specified first set or percent of rows will be returned from the query result set.expression can be either a number or a percent of the rows.Aby zapewnić zgodność ze starszymi wersjami oprogramowania za pomocą TOP expression bez nawiasów w SELECT instrukcji jest obsługiwana, ale nie jest zalecane go. Aby uzyskać więcej informacji zobaczTOP (Transact-SQL).
< select_list >
Kolumny, które mają być wybrane dla zestaw wyników.Na liście wybierz jest serią wyrażeń oddzielonych przecinkami.Maksymalna liczba wyrażeń, które mogą być określone na liście select wynosi 4096.*
Określa, że powinny być zwrócone wszystkie kolumny ze wszystkich tabel i widoków w klauzula FROM.Kolumny są zwracane przez tabela lub widok, określony w klauzula FROM, jak i w kolejności, w którym tabela lub widoku.table_name | view_name | table_alias.*
Ogranicza zakres * do określonej tabela lub widoku.column_name
To nazwa kolumna, aby powrócić.Zakwalifikowanie column_name Aby zapobiec odwołanie niejednoznaczne, takich jak występuje, gdy dwie tabele w klauzula FROM mają kolumny o takich samych nazwach. Na przykład SalesOrderHeader i SalesOrderDetail tabele bazy danych AdventureWorks zawierają kolumna o nazwie ModifiedDate.Jeśli dwie tabele są sprzężone w kwerendzie, można określić data modyfikacji SalesOrderDetail wpisów na liście select jako SalesOrderDetail.ModifiedDate.expression
Jest stałych, funkcja, dowolna kombinacja nazw kolumn, stała i funkcje połączone przy użyciu operator lub podmiotów gospodarczych lub podkwerenda.TOŻSAMOŚĆ $
Zwraca wartość kolumna tożsamości.Aby uzyskać więcej informacji zobacz IDENTITY (Property) (Transact-SQL), ALTER tabela (języka Transact-SQL), a CREATE TABLE (Transact-SQL).Jeśli więcej niż jedną tabela w klauzula FROM zawiera kolumna z właściwość IDENTITY, o nazwie określonej tabela, takich jak T1 musi być kwalifikowany $ IDENTITY. $ IDENTITY.
$ ROWGUID
Zwraca wartość wiersza kolumna identyfikatora GUID.Jeśli jest więcej niż jedną tabela w klauzula FROM z ROWGUIDCOL właściwość, musi być kwalifikowany ROWGUID o nazwie określonej tabela, takich jak T1 $. $ ROWGUID.
udt_column_name
Jest nazwą wspólnej kolumna typ zdefiniowany przez użytkownika (CLR) w czasie wykonywania języka do zwrócenia.Uwaga
SQL Server Management Studio Zwraca typ zdefiniowany przez użytkownika wartości reprezentacja binarna.Aby zwracać wartości typ zdefiniowany przez użytkownika w formacie XML lub ciąg znaków, należy użyć OBSADA or KONWERTOWANIE.
{ . | :: }
Określa metoda, właściwość lub pole CLR typ zdefiniowany przez użytkownika.Use .for an instance (nonstatic) method, property, or field.Użycie:: statycznej metoda, właściwość lub pole. Aby wywołać metoda, właściwość lub pole zdefiniowany przez użytkownika typ danych CLR, musisz mieć uprawnienie wykonać typu.property_name
Jest właściwością publiczne udt_column_name.field_name
element członkowski członkowski danych publicznych udt_column_name.method_name
Is a public method of udt_column_name that takes one or more arguments.method_name cannot be a mutator method.W poniższym przykładzie następuje wybranie wartości Location kolumna zdefiniowane jako typ point, z Cities Tabela, wywołując metoda o nazwie typu Distance:
CREATE TABLE Cities ( Name varchar(20), State varchar(20), Location point ); GO DECLARE @p point (32, 23), @distance float GO SELECT Location.Distance (@p) FROM Cities;
column_ alias
Alternatywna nazwa ma zastąpić nazwę kolumna, w wyniku kwerendy jest zestaw.Na przykład można określić alias, takie jak ilość lub ilość, data lub ilość dla kolumna o nazwie ilość.Aliasy są również używane do określania nazw na wyniki wyrażeń, na przykład:
USE AdventureWorks;
GO
SELECT AVG(UnitPrice) AS 'Average Price'
FROM Sales.SalesOrderDetail;
column_alias mogą być używane w klauzula ORDER BY.Jednak nie mogą być używane w WHERE, GROUP BY lub klauzulę HAVING.Jeśli wyrażenie kwerendy jest częścią instrukcja DECLARE kursor, column_alias Nie można użyć w klauzula FOR UPDATE.
Remarks
Zwrócona długość danych dla text lub ntext kolumny, które znajdują się na liście select jest zestaw do najmniejszej wartości z następujących czynności: rzeczywisty rozmiar text kolumna, ustawieniem domyślnym TEXTSIZE sesja lub limit ustalonych aplikacji. Aby zmienić długość zwrócony tekst dla danej sesja, należy użyć instrukcja zestaw.Domyślnie limit długości tekstu dane zwrócone z instrukcja SELECT wynosi 4 000 bajtów.
The SQL Server Database Engine raises exception 511 and rolls back the current running instrukcja if either of the following behavior occurs:
Instrukcja SELECT tworzy wiersz wyników lub wierszem tabela pośrednich pracy przekracza 8,060 bajtów.
Instrukcja DELETE, INSERT lub UPDATE podejmuje akcja na wiersz powyżej 8,060 bajtów.
Błąd występuje, jeśli nazwa kolumna nie zostanie określona z kolumną utworzonych przez SELECT INTO lub CREATE VIEW instrukcja.
See Also