ALL, DISTINCT, DISTINCTROW, atas predikat

ALL, DISTINCT, DISTINCTROW, atas predikat

Penting: Artikel ini adalah terjemahan mesin, lihat penafian. Temukan versi bahasa Inggris artikel di sini sebagai rujukan Anda.

Menentukan catatan yang dipilih dengan kueri SQL.

Sintaks

PILIH [SEMUA | BERBEDA | DISTINCTROW | [Atas n [persen]]]
Dari tabel

Pernyataan SELECT yang berisi predikat ini memiliki bagian berikut ini:

Bagian

Deskripsi

ALL

Dianggap sebagai jika Anda tidak menyertakan salah satu predikat. Mesin database Microsoft Access memilih semua rekaman yang memenuhi kondisi di pernyataan SQL. Dua contoh berikut ini sama dan mengembalikan semua rekaman dari tabel karyawan:

SELECT ALL *
FROM Employees
ORDER BY EmployeeID;
SELECT *
FROM Employees
ORDER BY EmployeeID;

BERBEDA

Menghilangkan rekaman yang berisi data duplikat dalam bidang yang dipilih. Akan disertakan dalam hasil kueri, nilai untuk setiap bidang yang tercantum dalam pernyataan SELECT harus unik. Misalnya, beberapa karyawan yang tercantum dalam tabel karyawan yang mungkin memiliki nama belakang yang sama. Jika catatan berisi Smith dalam bidang nama belakang, pernyataan SQL berikut ini mengembalikan hanya satu rekaman yang berisi Smith:

SELECT DISTINCT LastName
FROM Employees;

Jika Anda menghilangkan DISTINCT, kueri ini mengembalikan rekaman Smith kedua.

Jika klausa SELECT berisi lebih dari satu bidang, kombinasi nilai dari semua bidang harus unik untuk catatan tertentu untuk disertakan dalam hasil.

Output kueri yang menggunakan DISTINCT tidak dapat diperbarui dan tidak mencerminkan perubahan yang dibuat oleh pengguna lain.

DISTINCTROW

Menghilangkan data berdasarkan seluruh rekaman duplikat, bidang tidak hanya duplikat. Misalnya, Anda bisa membuat kueri yang menggabungkan tabel pelanggan dan pesanan pada bidang id pelanggan. Tabel pelanggan berisi bidang id pelanggan tidak ada duplikat, tapi tabel Orders tidak karena masing-masing pelanggan bisa memiliki banyak pesanan. Pernyataan SQL berikut ini memperlihatkan bagaimana Anda bisa menggunakan DISTINCTROW untuk menghasilkan daftar perusahaan yang memiliki setidaknya satu pesanan tapi tanpa detail tentang pesanan tersebut:

SELECT DISTINCTROW CompanyName
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY CompanyName;

Jika Anda menghilangkan DISTINCTROW, kueri ini menghasilkan beberapa baris untuk setiap perusahaan yang memiliki lebih dari satu urutan.

DISTINCTROW memiliki efek hanya saat Anda memilih bidang dari beberapa, tapi tidak semua, dari tabel yang digunakan dalam kueri. DISTINCTROW diabaikan jika kueri Anda menyertakan satu tabel saja, atau jika Anda membuat output bidang dari semua tabel.

ATAS n [persen]

Mengembalikan nomor rekaman yang berada di bagian atas atau bawah dari rentang yang ditentukan oleh klausa URUTKAN menurut. Anggap Anda ingin nama siswa 25 dari kelas 1994:

SELECT TOP 25
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage DESC;

Jika Anda tidak menyertakan klausa URUTKAN menurut, kueri akan mengembalikan rangkaian sewenang-wenang 25 rekaman dari tabel siswa yang memenuhi klausa WHERE.

Predikat atas tidak memilih antara nilai yang sama. Dalam contoh sebelumnya, jika dua puluh lima dan dua puluh enam tertinggi kelas titik rata-rata yang sama, kueri akan mengembalikan 26 catatan.

Anda juga bisa menggunakan kata khusus persen untuk mengembalikan persentase tertentu dari catatan yang berada di bagian atas atau bawah dari rentang yang ditentukan oleh klausa URUTKAN menurut. Anggap bahwa, alih-alih pelajar atas 25, Anda ingin bagian bawah 10 persen kelas:

SELECT TOP 10 PERCENT
FirstName, LastName
FROM Students
WHERE GraduationYear = 2003
ORDER BY GradePointAverage ASC;

ASC predikat menentukan kembali nilai terbawah. Nilai yang mengikuti atas harus bilangan bulat.

ATAS tidak mempengaruhi apakah atau tidak kueri dapat diperbarui.

tabel

Nama tabel tempat rekaman diambil.



Catatan: Penafian Terjemahan Mesin: Artikel ini telah diterjemahan oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan terjemahan mesin ini untuk membantu pengguna yang bukan penutur bahasa Inggris agar dapat menikmati konten tentang produk, layanan, dan teknologi Microsoft. Karena artikel ini diterjemahkan oleh mesin, mungkin akan terdapat kesalahan kosa kata, sintaksis, atau tata bahasa.

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×