Bagikan melalui


TOP (Entity SQL)

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

Sintaks

[ TOP (n) ]

Argumen

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

Keterangan

Ekspresi TOP harus berupa harfiah numerik tunggal atau parameter tunggal. Jika harfiah konstanta digunakan, jenis harfiah 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 diajukan. 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 diikat.

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 terparameter:

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-klausul SKIP dan LIMIT dalam klausul ORDER BY. TOP dan SKIP/LIMIT saling eksklusif.

Contoh

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

  1. Ikuti prosedur di Cara: Menjalankan Kueri yang Menampilkan Hasil StructuralType.

  2. Teruskan kueri berikut sebagai argumen ke metode ExecuteStructuralTypeQuery :

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

Lihat juga