Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLKoncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Určuje sloupce, které vrátí dotaz Transact-SQL (T-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
Určuje, že v sadě výsledků se můžou zobrazit duplicitní řádky.
ALL je výchozí.
DISTINCT
Určuje, že v sadě výsledků se můžou zobrazit pouze jedinečné řádky. Hodnoty Null jsou považovány za stejné pro účely klíčového DISTINCT slova.
TOP (výraz) [ PERCENT ] [ WITH TIES ]
Označuje, že ze sady výsledků dotazu se vrátí pouze zadaná první sada nebo procento řádků. výraz může být číslo nebo procento řádků.
I když TOP <expression> se v příkazech pro zpětnou kompatibilitu podporuje SELECT bez závorek, vyhněte se této syntaxi. Další informace najdete v tématu TOP.
<select_list>
Určuje sloupce, které se mají vybrat pro sadu výsledků. Výběrový seznam je řada výrazů oddělených čárkami. Maximální počet výrazů, které můžete zadat v seznamu výběrů, je 4 096.
*
Určuje, že se mají vrátit všechny sloupce ze všech tabulek a zobrazení v FROM klauzuli. Sloupce jsou vráceny tabulkou nebo zobrazením, jak je uvedeno v FROM klauzuli, a v pořadí, ve kterém existují v tabulce nebo zobrazení.
| table_name | view_nametable_alias.*
Omezuje rozsah * na zadanou tabulku nebo zobrazení.
column_name
Název sloupce, který se má vrátit. Opravňuje column_name , aby se zabránilo nejednoznačnému odkazu, například když dvě tabulky v FROM klauzuli mají sloupce s duplicitními názvy. Například tabulky SalesOrderHeader v SalesOrderDetailAdventureWorks2025 databázi mají sloupec s názvem ModifiedDate. Pokud jsou dvě tabulky spojené v dotazu, můžete zadat změněné datum SalesOrderDetail položek v seznamu výběru jako SalesOrderDetail.ModifiedDate.
expression
Konstanta, funkce, libovolná kombinace názvů sloupců, konstant a funkcí spojených operátorem nebo operátory nebo poddotazem.
$IDENTITY
Vrátí sloupec identity. Další informace naleznete v tématu IDENTITY (Vlastnost),ALTER TABLE a CREATE TABLE.
Pokud má v FROM klauzuli více než jednu tabulku sloupec s IDENTITY vlastností, musíte kvalifikovat $IDENTITY s konkrétním názvem tabulky, například T1.$IDENTITY.
$ROWGUID
Vrátí sloupec GUID řádku.
Pokud má vlastnost více než jedna tabulka v FROM klauzuli ROWGUIDCOL , musíte kvalifikovat $ROWGUID s konkrétním názvem tabulky, například T1.$ROWGUID.
udt_column_name
Název sloupce uživatelem definovaného uživatelem definovaného modulem CLR (Common Language Runtime) pro vrácení.
Note
SQL Server Management Studio vrátí uživatelem definované hodnoty typu v binární reprezentaci. Chcete-li vrátit uživatelem definované hodnoty typu ve formátu řetězce nebo XML, použijte cast a CONVERT nebo CAST a CONVERT.
{ . | :: }
Určuje metodu, vlastnost nebo pole uživatelem definovaného typu CLR. Pro metodu, vlastnost nebo pole instance (nonstatic) použijte tečku (.). Pro statickou metodu, vlastnost nebo pole použijte dvojtečku (::). Chcete-li vyvolat metodu, vlastnost nebo pole uživatelem definovaného typu CLR, musíte mít EXECUTE oprávnění k typu.
property_name
Veřejná nemovitost udt_column_name.
field_name
Veřejný datový člen udt_column_name.
method_name
Veřejná metoda udt_column_name , která přebírá jeden nebo více argumentů. method_name nemůže být metoda mutátoru.
Následující příklad vybere hodnoty sloupce Location definovaného jako bod typu z Cities tabulky vyvoláním metody s názvem 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
Alternativní název, který nahradí název sloupce v sadě výsledků dotazu. Například alias, například Quantity, nebo Quantity do Date, nebo Qty lze zadat pro sloupec s názvem quantity.
Aliasy můžete použít k určení názvů výsledků výrazů, například:
USE AdventureWorks2025;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias lze použít v ORDER BY klauzuli. Nemůžete ho ale použít v klauzuli WHERE, GROUP BYnebo HAVING klauzuli. Pokud je výraz dotazu součástí DECLARE CURSOR příkazu, column_alias nelze v klauzuli FOR UPDATE použít.
Remarks
Pokud do seznamu výběru zahrnete textové nebo ntextové sloupce, bude délka vrácených dat nejmenší hodnotou následujících možností:
- skutečná velikost textového sloupce,
- výchozí
TEXTSIZEnastavení relace nebo - pevně zakódovaný limit aplikace.
Pokud chcete změnit délku vráceného textu relace, použijte příkaz SET . Ve výchozím nastavení je limit délky textových dat vrácených příkazem SELECT 4 000 bajtů.
Databázový stroj SQL Serveru vyvolá výjimku 511 a vrátí zpět aktuální spuštěný příkaz, pokud dojde k některému z následujících chování:
Příkaz
SELECTvytvoří výsledný řádek nebo zprostředkující řádek pracovní tabulky, který překračuje 8 060 bajtů.Příkaz
DELETE,INSERTneboUPDATEse pokusí provést akci na řádku, který překračuje 8 060 bajtů.
K chybě dojde, pokud nezadáte název sloupce vytvořeného SELECT INTO pomocí příkazu nebo CREATE VIEW sloupce.
Související obsah
- Příklady SELECT (Transact-SQL)
- Výrazy (Transact-SQL)
- SELECT (Transact-SQL)