Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Hiermee geeft u de kolommen op die de Transact-SQL (T-SQL)-query retourneert.
Transact-SQL syntaxis-conventies
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
Hiermee geeft u op dat dubbele rijen kunnen worden weergegeven in de resultatenset.
ALL is de standaardwaarde.
DISTINCT
Hiermee geeft u op dat alleen unieke rijen kunnen worden weergegeven in de resultatenset. Null-waarden worden als gelijk beschouwd voor de doeleinden van het DISTINCT trefwoord.
TOP (expressie) [ PERCENT ] [ MET TIES ]
Geeft aan dat alleen een opgegeven eerste set of percentage rijen wordt geretourneerd uit de resultatenset van de query. expressie kan een getal of een percentage van de rijen zijn.
Hoewel TOP <expression> zonder haakjes wordt ondersteund in SELECT instructies voor compatibiliteit met eerdere versies, vermijdt u deze syntaxis. Zie TOP voor meer informatie.
<select_list>
Hiermee geeft u de kolommen die moeten worden geselecteerd voor de resultatenset. De selectielijst is een reeks expressies gescheiden door komma's. Het maximum aantal expressies dat u in de selectielijst kunt opgeven, is 4096.
*
Hiermee geeft u op dat alle kolommen uit alle tabellen en weergaven in de FROM component moeten worden geretourneerd. De kolommen worden geretourneerd door een tabel of weergave, zoals opgegeven in de FROM component, en in de volgorde waarin ze in de tabel of weergave staan.
| table_name | view_nametable_alias.*
Beperkt het bereik van de * tot de opgegeven tabel of weergave.
column_name
De naam van een kolom die moet worden geretourneerd. In aanmerking komen column_name om te voorkomen dat een dubbelzinnige verwijzing wordt gebruikt, zoals wanneer twee tabellen in de FROM component kolommen met dubbele namen bevatten. De tabellen SalesOrderDetail in de database hebben bijvoorbeeld SalesOrderHeader beide een kolom met de AdventureWorks2025 naam ModifiedDate. Als de twee tabellen zijn samengevoegd in een query, kunt u de gewijzigde datum van de SalesOrderDetail items in de selectielijst opgeven als SalesOrderDetail.ModifiedDate.
expression
Een constante, functie, elke combinatie van kolomnamen, constanten en functies die zijn verbonden door een operator of operator of een subquery.
$IDENTITY
Retourneert de identiteitskolom. Zie IDENTITY (Property), ALTER TABLE en CREATE TABLE voor meer informatie.
Als meer dan één tabel in de FROM component een kolom met de IDENTITY eigenschap bevat, moet u in aanmerking komen $IDENTITY met de specifieke tabelnaam, zoals T1.$IDENTITY.
$ROWGUID
Retourneert de rij-GUID-kolom.
Als meer dan één tabel in de FROM component de ROWGUIDCOL eigenschap heeft, moet u in aanmerking komen $ROWGUID met de specifieke tabelnaam, zoals T1.$ROWGUID.
udt_column_name
De naam van een door de gebruiker gedefinieerde kolom common language runtime (CLR) die moet worden geretourneerd.
Note
SQL Server Management Studio retourneert door de gebruiker gedefinieerde typewaarden in binaire weergave. Als u door de gebruiker gedefinieerde typewaarden wilt retourneren in tekenreeks- of XML-indeling, gebruikt u CAST en CONVERTEREN of CONVERTEREN.
{ . | :: }
Hiermee geeft u een methode, eigenschap of veld van een door de gebruiker gedefinieerde CLR-type op. Gebruik een punt (.) voor een instantiemethode (niet-statische) methode, eigenschap of veld. Gebruik een dubbele dubbele punt (::) voor een statische methode, eigenschap of veld. Als u een methode, eigenschap of veld van een door de gebruiker gedefinieerde CLR-type wilt aanroepen, moet u gemachtigd zijn EXECUTE voor het type.
property_name
Een openbare eigenschap van udt_column_name.
field_name
Een lid van openbare gegevens van udt_column_name.
method_name
Een openbare methode van udt_column_name die een of meer argumenten gebruikt. method_name kan geen mutatormethode zijn.
In het volgende voorbeeld worden de waarden voor de Location kolom, gedefinieerd als typepunt, uit de Cities tabel geselecteerd door een methode aan te roepen van het type dat wordt aangeroepen 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
Een alternatieve naam om de kolomnaam in de queryresultatenset te vervangen. Bijvoorbeeld een alias zoals Quantity, of Quantity aan Date, of Qty kan worden opgegeven voor een kolom met de naam quantity.
U kunt aliassen gebruiken om namen op te geven voor de resultaten van expressies, bijvoorbeeld:
USE AdventureWorks2025;
GO
SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;
column_alias kan worden gebruikt in een ORDER BY component. U kunt deze echter niet gebruiken in een WHERE, GROUP BYof HAVING component. Als de query-expressie deel uitmaakt van een DECLARE CURSOR instructie, kan column_alias niet worden gebruikt in de FOR UPDATE component.
Remarks
Wanneer u tekst- of ntekstkolommen in de selectielijst opneemt, is de lengte van de geretourneerde gegevens de kleinste waarde van de volgende opties:
- de werkelijke grootte van de tekstkolom ,
- de standaardsessie-instelling
TEXTSIZEof - de in code vastgelegde toepassingslimiet.
Als u de lengte van de geretourneerde tekst voor de sessie wilt wijzigen, gebruikt u de SET instructie. De limiet voor de lengte van tekstgegevens die door een SELECT instructie worden geretourneerd, is standaard 4000 bytes.
De SQL Server Database Engine genereert uitzondering 511 en rolt de huidige actieve instructie terug als een van de volgende gedragingen zich voordoet:
De
SELECTinstructie produceert een resultaatrij of een tussenliggende werktabelrij die groter is dan 8.060 bytes.Met
DELETEde instructie ,INSERTofUPDATEwordt een actie uitgevoerd op een rij die groter is dan 8060 bytes.
Er treedt een fout op als u geen kolomnaam opgeeft voor een kolom die is gemaakt door een SELECT INTO of-instructie CREATE VIEW .
Verwante inhoud
- SELECT-voorbeelden (Transact-SQL)
- Expressies (Transact-SQL)
- SELECT (Transact-SQL)