Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan elemen yang dikembalikan oleh kueri.
Sintaksis
SELECT [ ALL | DISTINCT ] [ topSubclause ] aliasedExpr
[{ , aliasedExpr }] FROM fromClause [ WHERE whereClause ] [ GROUP BY groupByClause [ HAVING havingClause ] ] [ ORDER BY orderByClause ]
-- or
SELECT VALUE [ ALL | DISTINCT ] [ topSubclause ] expr FROM fromClause [ WHERE whereClause ] [ GROUP BY groupByClause [ HAVING havingClause ] ] [ ORDER BY orderByClause
Argumen
SEMUA Menentukan bahwa duplikat dapat muncul dalam tataan hasil. ALL adalah default.
DISTINCT Menentukan bahwa hanya hasil unik yang dapat muncul dalam tataan hasil.
VALUE Hanya memungkinkan satu item ditentukan, dan tidak ditambahkan pada pembungkus baris.
topSubclause Ekspresi valid apa pun yang menunjukkan jumlah hasil pertama yang dikembalikan dari kueri, dari formulir top(expr).
Parameter LIMIT operator ORDER BY juga memungkinkan Anda memilih item n pertama dalam tataan hasil.
aliasedExpr Ekspresi formulir:
expr sebagai identifier | expr
expr Harfiah atau ekspresi.
Komentar
Klausa SELECT dievaluasi setelah klausa FROM, GROUP BY, dan HAVING telah dievaluasi. Klausa SELECT hanya dapat merujuk ke item yang saat ini dalam cakupan (dari klausa FROM, atau dari cakupan luar). Jika klausa GROUP BY telah ditentukan, klausa SELECT hanya diizinkan untuk mereferensikan alias untuk kunci GROUP BY. Mengacu pada item klausa FROM hanya diizinkan dalam fungsi agregat.
Daftar satu atau beberapa ekspresi kueri yang mengikuti kata kunci SELECT dikenal sebagai daftar pilih, atau lebih secara resmi sebagai proyeksi. Bentuk proyeksi yang paling umum adalah ekspresi kueri tunggal. Jika Anda memilih anggota member1 dari koleksi collection1, Anda akan menghasilkan koleksi baru dari semua member1 nilai untuk setiap objek di , seperti yang diilustrasikan collection1dalam contoh berikut.
SELECT collection1.member1 FROM collection1
Misalnya, jika customers adalah kumpulan jenis Customer yang memiliki properti Name berjenis string, memilih Name dari customers akan menghasilkan kumpulan string, seperti yang diilustrasikan dalam contoh berikut.
SELECT customers.Name FROM customers AS c
Anda juga dapat menggunakan sintaks JOIN (FULL, INNER, LEFT, OUTER, ON, dan RIGHT). ON diperlukan untuk gabungan dalam dan diperbolehkan nto untuk gabungan silang.
Klausa Pilih Baris dan Nilai
Entity SQL mendukung dua varian klausa SELECT. Varian pertama, pilih baris, diidentifikasi oleh kata kunci SELECT, dan dapat digunakan untuk menentukan satu atau beberapa nilai yang harus diproyeksikan. Karena pembungkus baris ditambahkan secara implisit di sekitar nilai yang dikembalikan, hasil ekspresi kueri selalu merupakan multiset baris.
Setiap ekspresi kueri dalam pemilih baris harus menentukan alias. Jika tidak ada alias yang ditentukan, Entity SQL mencoba menghasilkan alias dengan menggunakan aturan pembuatan alias.
Varian lain dari klausa SELECT, pilih nilai, diidentifikasi oleh kata kunci SELECT VALUE. Ini hanya memungkinkan satu nilai untuk ditentukan, dan tidak menambahkan pembungkus baris.
Pemilihan baris selalu dapat diekspresikan dalam hal VALUE SELECT, seperti yang diilustrasikan dalam contoh berikut.
SELECT 1 AS a, "abc" AS b FROM C
SELECT VALUE ROW(1 AS a, "abc" AS b) FROM C
Pengubah Semua dan Berbeda
Kedua varian SELECT di Entity SQL memungkinkan spesifikasi pengubah ALL atau DISTINCT. Jika pengubah DISTINCT ditentukan, duplikat dihilangkan dari koleksi yang dihasilkan oleh ekspresi kueri (hingga dan termasuk klausa SELECT). Jika pengubah SEMUA ditentukan, tidak ada eliminasi duplikat yang dilakukan; ALL adalah default.
Perbedaan dari Transact-SQL
Tidak seperti Transact-SQL, Entity SQL tidak mendukung penggunaan argumen * dalam klausa SELECT. Sebagai gantinya, Entity SQL memungkinkan kueri untuk memproyeksikan seluruh rekaman dengan merujuk alias koleksi dari klausul FROM, seperti yang diilustrasikan dalam contoh berikut.
SELECT * FROM T1, T2
Ekspresi kueri Transact-SQL sebelumnya dinyatakan dalam SQL Entitas dengan cara berikut.
SELECT a1, a2 FROM T1 AS a1, T2 AS a2
Contoh
Kueri SQL Entitas berikut menggunakan operator SELECT untuk menentukan elemen yang akan dikembalikan oleh kueri. Kueri didasarkan pada Model Penjualan AdventureWorks. Untuk mengkompilasi dan menjalankan kueri ini, ikuti langkah-langkah berikut:
Ikuti prosedur dalam Cara: Menjalankan Kueri yang Mengembalikan Hasil StructuralType.
Teruskan kueri berikut sebagai argumen ke
ExecuteStructuralTypeQuerymetode :
SELECT VALUE product FROM AdventureWorksEntities.Products
AS product WHERE product.ListPrice < @price