Aracılığıyla paylaş


SELECT yan tümcesi (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL analiz uç noktasıMicrosoft Fabric'te ambarMicrosoft Fabric'te SQL veritabanı

Transact-SQL (T-SQL) sorgusunun döndürdüğü sütunları belirtir.

Transact-SQL söz dizimi kuralları

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

HEPSİ

Sonuç kümesinde yinelenen satırların görünebileceğini belirtir. ALL varsayılan değerdir.

DISTINCT

Sonuç kümesinde yalnızca benzersiz satırların görünebileceğini belirtir. Null değerler, anahtar sözcüğün DISTINCT amaçları için eşit olarak kabul edilir.

TOP (ifade) [ YÜZDE ] [ TIES ile ]

Sorgu sonuç kümesinden yalnızca belirtilen ilk kümenin veya satır yüzdesinin döndürüldüğünü gösterir. ifade bir sayı veya satırların yüzdesi olabilir.

Geriye dönük uyumluluk için deyimlerde parantez olmadan desteklenmese TOP <expression> de SELECT , bu söz dizimlerinden kaçının. Daha fazla bilgi için bkz. TOP.

<Select_list>

Sonuç kümesi için seçecek sütunları belirtir. Seçme listesi, virgülle ayrılmış bir dizi ifadedir. Seçme listesinde belirtebileceğiniz ifade sayısı üst sınırı 4.096'dır.

*

Yan tümcesindeki tüm tablo ve görünümlerdeki tüm sütunların FROM döndürülmesi gerektiğini belirtir. Sütunlar, yan tümcesinde FROM belirtildiği gibi tablo veya görünüm tarafından ve tablo veya görünümde bulundukları sırayla döndürülür.

| table_name | view_nametable_alias.*

* kapsamını belirtilen tablo veya görünümle sınırlar.

column_name

Döndürülecek sütunun adı. Yan tümcedeki iki tablonun yinelenen adlara sahip sütunları olduğunda ortaya çıkması gibi belirsiz bir başvuruyu önlemek için column_name niteleyin FROM . Örneğin, veritabanındaki SalesOrderHeader ve SalesOrderDetail tablolarının AdventureWorks2025 her ikisi de adlı ModifiedDatebir sütuna sahiptir. İki tablo bir sorguda birleştirilirse, seçme listesindeki girdilerin SalesOrderDetail değiştirilme tarihini olarak SalesOrderDetail.ModifiedDatebelirtebilirsiniz.

expression

Sabit, işlev, bir işleç veya işleç ya da bir alt sorgu tarafından bağlanan sütun adlarının, sabitlerin ve işlevlerin herhangi bir bileşimi.

$IDENTITY

Kimlik sütununu döndürür. Daha fazla bilgi için bkz . IDENTITY (Property), ALTER TABLE ve CREATE TABLE.

Yan tümcesindeki FROM birden fazla tablo özelliğine IDENTITY sahip bir sütuna sahipse, gibi T1.$IDENTITYbelirli bir tablo adıyla nitelemeniz $IDENTITY gerekir.

$ROWGUID

Satır GUID sütununu döndürür.

Yan tümcesindeki FROM birden fazla tablo özelliğine ROWGUIDCOL sahipse, gibi T1.$ROWGUIDbelirli bir tablo adıyla nitelemeniz $ROWGUID gerekir.

udt_column_name

Döndürülecek ortak dil çalışma zamanı (CLR) kullanıcı tanımlı tür sütununun adı.

Note

SQL Server Management Studio, ikili gösterimde kullanıcı tanımlı tür değerleri döndürür. Dize veya XML biçiminde kullanıcı tanımlı tür değerleri döndürmek için CAST ve CONVERT veya CAST ve CONVERT kullanın.

{ . | :: }

CLR kullanıcı tanımlı türünün yöntemini, özelliğini veya alanını belirtir. Örnek (.statik olmayan) yöntem, özellik veya alan için nokta () kullanın. Statik bir yöntem, özellik veya alan için iki nokta üst üste (::) kullanın. CLR kullanıcı tanımlı türünün yöntemini, özelliğini veya alanını çağırmak için tür üzerinde izniniz olmalıdır EXECUTE .

property_name

udt_column_name ortak özelliği.

field_name

udt_column_name genel veri üyesi.

method_name

Bir veya daha fazla bağımsız değişken alan genel bir udt_column_name yöntemi. method_name bir mutator yöntemi olamaz.

Aşağıdaki örnek, adlı Distancetürdeki bir yöntemi çağırarak tablodan tür noktasıCities olarak tanımlanan sütunun değerlerini Location seçer:

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

Sorgu sonuç kümesindeki sütun adını değiştirmek için alternatif bir ad. Örneğin , veya QuantityDateile gibi Quantitybir diğer ad veya Qty adlı quantitybir sütun için belirtilebilir.

İfade sonuçlarının adlarını belirtmek için diğer adları kullanabilirsiniz, örneğin:

USE AdventureWorks2025;
GO

SELECT AVG(UnitPrice) AS [Average Price]
FROM Sales.SalesOrderDetail;

column_alias bir ORDER BY yan tümcede kullanılabilir. Ancak, bunu bir WHERE, GROUP BYveya HAVING yan tümcesinde kullanamazsınız. Sorgu ifadesi bir DECLARE CURSOR deyimin parçasıysa column_alias yan tümcesinde FOR UPDATE kullanılamaz.

Remarks

Seçme listesine metin veya ntext sütunları eklediğinizde, döndürülen verilerin uzunluğu aşağıdaki seçeneklerin en küçük değeridir:

  • metin sütununun gerçek boyutu,
  • varsayılan TEXTSIZE oturum ayarı veya
  • sabit kodlanmış uygulama sınırı.

Oturum için döndürülen metnin uzunluğunu değiştirmek için deyimini SET kullanın. Varsayılan olarak, bir SELECT deyimi tarafından döndürülen metin verilerinin uzunluğu sınırı 4.000 bayttır.

SQL Server Veritabanı Altyapısı özel durum 511'i yükseltir ve aşağıdaki davranışlardan biri oluşursa geçerli çalışan deyimini geri alır:

  • deyimi, SELECT 8.060 bayt'ı aşan bir sonuç satırı veya ara çalışma tablosu satırı oluşturur.

  • DELETE, INSERTveya UPDATE deyimi, 8.060 bayt'ı aşan bir satırda bir eylem dener.

Bir veya CREATE VIEW deyimi tarafından oluşturulan bir sütun için sütun adı belirtmezseniz bir SELECT INTO hata oluşur.