ALL, DISTINCT, DISTINCTROW, TOP Predicates
Applies ToAccess untuk Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Menentukan rekaman yang dipilih dengan kueri SQL.

Sintaks

PILIH [SEMUA | BERBEDA | DISTINCTROW | [TOP n [PERSEN]]]Tabel FROM

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

SELECT ALL *FROM EmployeesORDER BY EmployeeID;
SELECT *FROM EmployeesORDER BY EmployeeID;

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:

SELECT DISTINCT LastNameFROM Employees;

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:

SELECT DISTINCTROW CompanyNameFROM Customers INNER JOIN OrdersON Customers.CustomerID = Orders.CustomerIDORDER BY CompanyName;

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:

SELECT TOP 25FirstName, LastNameFROM StudentsWHERE GraduationYear = 2003ORDER BY GradePointAverage DESC;

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:

SELECT TOP 10 PERCENTFirstName, LastNameFROM StudentsWHERE GraduationYear = 2003ORDER BY GradePointAverage ASC;

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.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.