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é má dotaz vrátit.
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í hodnota.
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 slova DISTINCT.
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ů.
Kvůli zpětné kompatibilitě se podporuje použití výrazu TOP bez závorek v příkazech SELECT, ale nedoporučujeme ho. Další informace naleznete v tématu TOP (Transact-SQL).
< > select_list 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é lze zadat v seznamu výběru, je 4096.
*
Určuje, že se mají vrátit všechny sloupce ze všech tabulek a zobrazení v klauzuli FROM. Sloupce jsou vráceny tabulkou nebo zobrazením, jak je uvedeno v klauzuli FROM, 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
Je 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 klauzuli FROM mají sloupce s duplicitními názvy. Například tabulky SalesOrderHeader a SalesOrderDetail v AdventureWorks2025 databázi mají sloupec s názvem ModifiedDate. Pokud jsou dvě tabulky spojené v dotazu, datum změny položek SalesOrderDetail lze zadat v seznamu select jako SalesOrderDetail.ModifiedDate.
expression
Je 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) (Transact-SQL), ALTER TABLE (Transact-SQL) a CREATE TABLE (Transact-SQL).
Pokud má v klauzuli FROM sloupec s vlastností IDENTITY, musí být $IDENTITY kvalifikovaný s konkrétním názvem tabulky, například T1.$IDENTITY.
$ROWGUID
Vrátí sloupec GUID řádku.
Pokud je v klauzuli FROM s vlastností ROWGUIDCOL více než jedna tabulka, musí být $ROWGUID kvalifikovaný s konkrétním názvem tabulky, například T1.$ROWGUID.
udt_column_name
Je název sloupce s uživatelem definovaným typem modulu CLR (Common Language Runtime), který se má vrátit.
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 nebo CONVERT.
{ . | :: }
Určuje metodu, vlastnost nebo pole uživatelem definovaného typu CLR. Používat. pro instanci (nestatickou) metodu, vlastnost nebo pole. Použijte :: pro statickou metodu, vlastnost nebo pole. Chcete-li vyvolat metodu, vlastnost nebo pole uživatelem definovaného typu CLR, musíte mít oprávnění EXECUTE k typu.
property_name
Je veřejná vlastnost udt_column_name.
field_name
Je veřejným datovým členem udt_column_name.
method_name
Je 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 pro Location sloupec, definované jako typ point, z Cities tabulky vyvoláním metody typu s názvem Distance:
CREATE TABLE dbo.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
Je alternativním názvem nahrazení názvu sloupce v sadě výsledků dotazu. Například alias, jako je Množství nebo Množství k datu, nebo Qty lze zadat pro sloupec s názvem množství.
Aliasy se používají také k určení názvů pro výsledky výrazů, například:
USE AdventureWorks2022;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias lze použít v klauzuli ORDER BY. Nelze ho však použít v klauzuli WHERE, GROUP BY nebo HAVING. Pokud je výraz dotazu součástí příkazu DECLARE CURSOR, nelze column_alias použít v klauzuli FOR UPDATE.
Remarks
Délka dat vrácených pro textové nebo ntextové sloupce, které jsou zahrnuté v seznamu výběrů, je nastavena na nejmenší hodnotu z následujících hodnot: skutečná velikost textového sloupce, výchozí nastavení relace TEXTIZE 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 SELECT vytvoří výsledný řádek nebo zprostředkující řádek pracovní tabulky přesahující 8 060 bajtů.
Příkaz DELETE, INSERT nebo UPDATE se pokusí provést akci na řádku, který přesahuje 8 060 bajtů.
Pokud není pro sloupec vytvořený příkazem SELECT INTO nebo CREATE VIEW zadán žádný název sloupce, dojde k chybě.
Viz také
Příklady SELECT (Transact-SQL)
Výrazy (Transact-SQL)
SELECT (Transact-SQL)