Share via


order by yan tümcesi (Transact-SQL)

select deyimiçinde döndürülen sütunlar üzerinde kullanılan sıralama düzeni belirtir.ÜSTÜNE de belirtilmediği sürece order by yan tümce görünümleri, satır içi İşlevler, türetilen tablolar ve alt sorgular, geçerli değil.

Not

order by satır içi işlev, bir görünüm tanımında kullanıldığında tablotüretilmiş veya alt sorgu, yan tümce yalnızca üst yan tümcetarafından döndürülen satırları belirlemek için kullanılır.Bu yapıları sorgulandığında, order by de sorguda belirtilmediği sürece order by yan tümce sipariş edilen sonuçlar garanti etmez.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

[ ORDER BY 
    {
    order_by_expression 
  [ COLLATE collation_name ] 
  [ ASC | DESC ] 
    } [ ,...n ] 
] 

Bağımsız değişkenler

  • order_by_expression
    Bir sütun sıralamak belirtir.Sıralama sütun adı veya sütun diğer adveya adı veya diğer ad select listesindeki konumunu gösteren negatif olmayan bir tamsayı olarak belirtilebilir.Bir tamsayı olamaz ne zaman belirtilen order_by_expression bir sıralama işlevgörünür.Bir ifade, ancak veritabanı olduğunda sıralama sütun içerebilir SQL Server (90) uyumluluk modu, ifade çözemiyor sabitiçin.Sütun adları ve diğer tablo veya görünüm adı nitelendirilmiş olabilir.De SQL Server, nitelikli sütun adları ve diğer adları from yan tümcetümcesinde listelenen sütunlar için çözülmüş.order_by_expression İse yetkili değil, değeri select deyimiçinde listelenen tüm sütunlar arasında benzersiz olmalıdır.

    Birden fazla sıralama sütunlar belirlenebilir.Organizasyon sıralanmış sonuç kümesiorder by yan tümce içinde sütunları sıralama sırasını tanımlar.

    order by yan tümce select listesinde görüntülenmeyen öğeleri içerebilir.Ancak, select DISTINCT belirtilirse veya deyim bir group by yan tümceiçeriyorsa veya select deyim birleşim işleçiçeriyorsa, sıralama sütunu seçme listesinde görünmesi gerekir.

    Ayrıca, bir birleşim işleç sütun adlarını select deyim içerir veya sütun diğer adları ilk belirtilen olmalıdır listesini seçin.

    Not

    ntext, text, image, veya xmlsütunları bir order by yan tümcetümcesinde kullanılamaz.

  • HARMANLAMA {collation_name}
    order by işlemi için belirtilen harmanlama göre gerçekleştirilmesi gerektiğini belirtir collation_nameve değil göre tablo veya görünüm. içinde tanımlanan sütun harmanlamacollation_nameWindows harmanlama adı veya bir SQL harmanlama adı olabilir.Daha fazla bilgi için, bkz. Kur alfabe düzeni ayarları ve SQL Server harmanlamalar kullanma.HARMANLA yalnızca sütun için uygun char, varchar, nchar, ve nvarchar veri türü.

  • ASC
    Belirtilen sütun değerleri, en düşük değerden en yüksek değere artan sırayla sıralanması gerektiğini belirtir.asc varsayılan sıralama ' dir.

  • DESC
    Belirtilen sütun değerleri, en yüksek değerden en düşük değere azalan düzende sıralanması gerektiğini belirtir.

Açıklamalar

Boş değerler en düşük olası değerler kabul edilir.

order by yan tümceiçinde öğe sayısı için bir sınır yoktur.Ancak 8,060 bayt sıralama işlemleri için gerekli Ara worktables satır boyutu sınırlaması yoktur.Bu bir order by yan tümcetümcesinde belirtilen sütunlara toplam boyutunu sınırlar.

select ile birlikte kullanıldığında...Başka bir kaynakalınan satır eklemek için INTO deyim , satırları belirtilen sırada eklenen order by yan tümce garanti etmez.

Örnekler

Aşağıdaki örnekler, bir sonuç kümesisipariş gösterir.

Sayısal sipariş ProductID sütun.Varsayılan değer artan sırada.

USE AdventureWorks2008R2;
GO
SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY ProductID ;

Sayısal sipariş azalansütunProductID.

SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY ProductID DESC;

Tarafından sipariş Name sütun.Karakterleri sıralanacağını alfabetik, sayısal olarak değil unutmayın.Yani, önce 2 10 sıralar.

SELECT ProductID, Name FROM Production.Product
WHERE Name LIKE 'Lock Washer%'
ORDER BY Name ASC ;

İki sütuna göre sıralama.Bu sorgu tarafından artan sırada sıralar FirstName sütun, sonra sıralar göre azalan sırada LastName sütun.

SELECT LastName, FirstName FROM Person.Person
WHERE LastName LIKE 'R%'
ORDER BY FirstName ASC, LastName DESC ;