Bagikan melalui


TOP (Entity SQL)

Klausa SELECT dapat memiliki sub-klausa TOP opsional dengan mengikuti pengubah ALL/DISTINCT opsional. Sub-klausul TOP menentukan bahwa hanya kumpulan baris pertama yang akan dikembalikan dari hasil kueri.

Sintaksis

[ TOP (n) ]

Argumen

n Ekspresi numerik yang menentukan jumlah baris yang akan dikembalikan. n bisa berupa literal numerik tunggal atau satu parameter.

Komentar

Ekspresi TOP harus berupa literal numerik tunggal atau parameter tunggal. Jika literal konstan digunakan, jenis literal harus secara implisit dapat diprogram ke Edm.Int64 (byte, int16, int32 atau int64 atau jenis penyedia apa pun yang memetakan ke jenis yang dapat diprogram ke Edm.Int64) dan nilainya harus lebih besar dari atau sama dengan nol. Jika tidak, pengecualian akan dinaikkan. Jika parameter digunakan sebagai ekspresi, jenis parameter juga harus secara implisit dapat diprogram ke Edm.Int64, tetapi tidak akan ada validasi nilai parameter aktual selama kompilasi karena nilai parameter terlambat terikat.

Berikut ini adalah contoh ekspresi TOP konstanta:

select distinct top(10) c.a1, c.a2 from T as a

Berikut ini adalah contoh ekspresi TOP berparameter:

select distinct top(@topParam) c.a1, c.a2 from T as a

TOP tidak deterministik kecuali kueri diurutkan. Jika Anda memerlukan hasil deterministik, gunakan sub-klausa SKIP dan LIMIT dalam klausa ORDER BY . TOP dan SKIP/LIMIT saling eksklusif.

Contoh

Kueri SQL Entitas berikut menggunakan TOP untuk menentukan satu baris teratas yang akan dikembalikan dari hasil kueri. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengkompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:

  1. Ikuti prosedur dalam Cara: Menjalankan Kueri yang Mengembalikan Hasil StructuralType.

  2. Teruskan kueri berikut sebagai argumen ke ExecuteStructuralTypeQuery metode :

    SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
    

Lihat juga