Menentukan rekaman yang dipilih dengan kueri SQL.
Sintaks
PILIH [SEMUA | BERBEDA | DISTINCTROW | [TOP n [PERSEN]]]
Tabel FROMPernyataan SELECT yang berisi predikat ini memiliki bagian berikut:
Bagian |
Deskripsi |
ALL |
Diasumsikan jika Anda tidak menyertakan salah satu predikat. Mesin database Microsoft Access memilih semua catatan yang memenuhi kondisi dalam pernyataan SQL. Dua contoh berikut ini setara dan mengembalikan semua rekaman dari tabel Karyawan:
|
DISTINCT |
Menghilangkan rekaman yang berisi data duplikat dalam bidang yang dipilih. Untuk disertakan dalam hasil kueri, nilai untuk setiap bidang yang tercantum dalam pernyataan SELECT harus unik. Misalnya, beberapa karyawan yang tercantum dalam tabel Karyawan mungkin memiliki nama belakang yang sama. Jika dua rekaman berisi Smith di bidang NamaBelakang, pernyataan SQL berikut hanya mengembalikan satu rekaman yang berisi Smith:
Jika Anda menghilangkan DISTINCT, kueri ini mengembalikan kedua rekaman Smith. Jika klausul SELECT berisi lebih dari satu bidang, kombinasi nilai dari semua bidang harus unik agar catatan tertentu disertakan dalam hasil. Output kueri yang menggunakan DISTINCT tidak dapat diperbarui dan tidak mencerminkan perubahan berikutnya yang dibuat oleh pengguna lain. |
DISTINCTROW |
Menghilangkan data berdasarkan seluruh rekaman duplikat, bukan hanya bidang duplikat. Misalnya, Anda dapat membuat kueri yang menggabungkan tabel Pelanggan dan Pesanan di bidang IDPelanggan. Tabel Pelanggan tidak berisi bidang ID Pelanggan duplikat, tetapi tabel Pesanan tidak karena setiap pelanggan dapat memiliki banyak pesanan. Pernyataan SQL berikut ini memperlihatkan bagaimana Anda dapat menggunakan DISTINCTROW untuk menghasilkan daftar perusahaan yang memiliki setidaknya satu pesanan tetapi tanpa detail tentang pesanan tersebut:
Jika Anda menghilangkan DISTINCTROW, kueri ini menghasilkan beberapa baris untuk setiap perusahaan yang memiliki lebih dari satu pesanan. DISTINCTROW memiliki efek hanya ketika Anda memilih bidang dari beberapa bidang, tetapi tidak semua tabel yang digunakan dalam kueri. DISTINCTROW diabaikan jika kueri Anda hanya menyertakan satu tabel, atau jika Anda membuat output bidang dari semua tabel. |
TOP n [PERSEN] |
Mengembalikan jumlah rekaman tertentu yang berada di bagian atas atau bawah rentang yang ditentukan oleh klausul ORDER BY. Misalkan Anda menginginkan nama 25 siswa teratas dari kelas 1994:
Jika Anda tidak menyertakan klausul ORDER BY, kueri akan mengembalikan sekumpulan rekaman semena-mena dari tabel Siswa yang memenuhi klausul WHERE. Predikat TOP tidak memilih antara nilai yang sama. Dalam contoh sebelumnya, jika rata-rata poin nilai tertinggi kedua puluh lima dan dua puluh enam sama, kueri akan mengembalikan 26 rekaman. Anda juga bisa menggunakan kata khusus PERCENT untuk mengembalikan persentase rekaman tertentu yang berada di bagian atas atau bawah rentang yang ditentukan oleh klausul ORDER BY. Anggap saja, daripada 25 siswa teratas, Anda menginginkan 10 persen terbawah kelas:
Predikat ASC menentukan pengembalian nilai terbawah. Nilai yang mengikuti TOP harus berupa Bilangan Bulat yang tidak ditandatangani. TOP tidak memengaruhi apakah kueri dapat diperbarui atau tidak. |
tabel |
Nama tabel tempat rekaman diambil. |