SELECT Clause (Transact-SQL)

Określa kolumn, które mają być zwrócone przez kwerendę.

Topic link iconKonwencje składni języka Transact-SQL

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.