SELECT (Transact-SQL)

Pobiera wiersze z bazy danych i umożliwia wybór wielu wierszy lub kolumn z jednej lub wielu tabel w SQL Server 2008 R2.Pełna składnia instrukcja SELECT jest złożony, ale główne klauzule projektu mogą być podsumowywane jako:

[ Z <common_table_expression>]

SELECT select_list INTOnew_table ]

FROMtable_source ] [ WHERE search_condition ]

Według grupygroup_by_expression[]

Osearch_condition[]

Według kolejnościorder_expression [ASC | DESC]]

Unii, oprócz i PRZECIĘCIE Operatorzy mogą być używane między kwerendami łączenie lub porównać swoje wyniki do jednego, zestaw wyników.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

<SELECT statement> ::=  

    [WITH <common_table_expression> [,...n]]
    <query_expression> 
    [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } 
  [ ,...n ] ] 
    [ COMPUTE 
  { { AVG | COUNT | MAX | MIN | SUM } (expression )} [ ,...n ] 
  [ BY expression [ ,...n ] ] 
    ] 
    [ <FOR Clause>] 
    [ OPTION ( <query_hint> [ ,...n ] ) ] 

<query_expression> ::= 
    { <query_specification> | ( <query_expression> ) } 
    [  { UNION [ ALL ] | EXCEPT | INTERSECT }
        <query_specification> | ( <query_expression> ) [...n ] ] 

<query_specification> ::= 
SELECT [ ALL | DISTINCT ] 
    [TOP ( expression ) [PERCENT] [ WITH TIES ] ] 

    < select_list > 
    [ INTO new_table ] 
    [ FROM { <table_source> } [ ,...n ] ] 
    [ WHERE <search_condition> ] 
    [ <GROUP BY> ] 
    [ HAVING < search_condition > ] 

Uwagi

Z uwagi na złożoność instrukcjaSELECT klauzulasą wyświetlane elementy składni szczegółowe i argumenty:

Kolejność klauzul w instrukcja SELECT jest znaczny.Można pominąć dowolny klauzule opcjonalne, ale w przypadku klauzul opcjonalnych musi wyświetlany w odpowiedniej kolejności.

Instrukcje SELECT są dozwolone w przypadku funkcji zdefiniowanej przez użytkownika tylko wtedy, gdy wybierz listy oświadczenia te zawierają wyrażenia, które przypisują wartości do zmiennych lokalnych funkcji.

Nazwa czteroczęściowym skonstruowany przy użyciu funkcja OPENDATASOURCE jako część nazwy serwera mogą być używane jako tabela źródło , tam, gdzie nazwa tabela mogą być wyświetlane w instrukcjaSELECT.

Niektóre ograniczenia składnię stosuje się do instrukcji SELECT, wymagające zdalnego tabel.Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące korzystania z kwerendami rozproszonymi..

Logiczne kolejność przetwarzania instrukcjaSELECT

Poniższe kroki pokazują logicznej kolejności przetwarzania lub kolejności powiązanie dla instrukcjaSELECT.To zamówienie Określa, kiedy obiekty zdefiniowane w jednym kroku są udostępniane klauzule w kolejnych krokach.Na przykład jeśli procesor kwerend można powiązać (dostęp) tabel lub widoków zdefiniowanych w FROM klauzula, te obiekty i ich kolumnach są dostępne wszystkie kolejne kroki.I odwrotnie ponieważ klauzula SELECT kroku 8, wszystkie aliasy kolumna lub kolumn pochodnych zdefiniowane w tej klauzula nie odwołuje poprzedzających klauzul.Jednakże można się odwoływać za kolejne klauzule, takie jak ORDER BY klauzula.Zauważ, że rzeczywista fizycznego wykonania instrukcja jest określana przez procesor kwerend i kolejność może się różnić od tej listy.

  1. Z

  2. NA

  3. SPRZĘŻENIA

  4. W PRZYPADKU GDY

  5. GRUPUJ WEDŁUG

  6. Z CUBE lub ROLLUP Z

  7. POSIADAJĄCE

  8. WYBIERZ

  9. DISTINCT

  10. SORTUJ WG

  11. U GÓRY

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera db_owner i db_datareader stałe role bazy danych i tabelana własność.Członkowie sysadmin, db_owner, i db_securityadmin , role, a właściciel tabela można przenieść uprawnienia do innych użytkowników.

Zobacz także

Odwołanie