ALL, DISTINCT, DISTINCTROW, atas predikat

ALL, DISTINCT, DISTINCTROW, atas predikat

Penting: Artikel ini diterjemahkan oleh mesin, lihatlah notis penafian. Sila dapatkan versi Bahasa Inggeris artikel ini di sini sebagai rujukan anda

Menentukan rekod yang dipilih dengan pertanyaan SQL.

Sintaks

PILIH [SEMUA | BERBEZA | DISTINCTROW | [Atas n [peratus]]]
Daripada Jadual

Kenyataan SELECT mengandungi predicates ini mempunyai bahagian berikut:

Bahagian

Perihalan

ALL

Diandaikan jika anda tidak memasukkan salah satu predicates yang. Enjin pangkalan data Microsoft Access memilih semua rekod yang memenuhi syarat dalam penyata SQL. Dua contoh berikut adalah sama dan mengembalikan semua rekod daripada jadual pekerja:

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

BERBEZA

Mengecualikan rekod yang mengandungi data pendua dalam medan terpilih. Untuk dimasukkan dalam hasil pertanyaan, nilai bagi setiap medan yang disenaraikan dalam penyata SELECT mesti unik. Contohnya, beberapa pekerja yang disenaraikan dalam jadual pekerja mungkin mempunyai nama keluarga yang sama. Jika kedua-dua rekod mengandungi Smith dalam medan LastName, penyata SQL berikut mengembalikan hanya satu rekod yang mengandungi Smith:

SELECT DISTINCT LastName
FROM Employees;

Jika anda mengeluarkan DISTINCT, pertanyaan ini mengembalikan kedua-dua rekod Smith.

Jika Klausa SELECT mengandungi lebih daripada satu medan, gabungan nilai daripada semua medan mesti unik bagi rekod yang diberikan untuk dimasukkan dalam hasil.

Output pertanyaan yang menggunakan DISTINCT tidak boleh dikemas kini dan menggambarkan perubahan dibuat oleh pengguna lain.

DISTINCTROW

Mengecualikan data berdasarkan seluruh rekod pendua, medan tidak pendua. Contohnya, anda boleh mencipta pertanyaan yang mencantumkan Jadual pelanggan dan pesanan pada medan ID pelanggan. Jadual pelanggan mengandungi medan ID pelanggan tiada pendua, tetapi Jadual pesanan tidak kerana setiap pelanggan boleh mempunyai banyak pesanan. Penyata SQL berikut menunjukkan cara anda boleh menggunakan DISTINCTROW untuk menghasilkan Senarai Syarikat yang mempunyai sekurang-kurangnya satu pesanan tetapi tanpa sebarang butiran tentang pesanan tersebut:

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

Jika anda mengeluarkan DISTINCTROW, pertanyaan ini menghasilkan berbilang baris untuk setiap syarikat yang mempunyai lebih daripada satu pesanan.

DISTINCTROW mempunyai kesan hanya apabila anda memilih medan daripada beberapa, tetapi bukan semua jadual yang digunakan dalam pertanyaan. DISTINCTROW diabaikan jika pertanyaan anda termasuk hanya satu jadual, atau jika anda output medan daripada semua jadual.

ATAS n [peratus]

Mengembalikan bilangan rekod yang berada di atas atau bawah julat yang ditentukan dengan Klausa mengikut. Katakan anda ingin nama pelajar 25 teratas daripada kelas 1994:

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

Jika anda tidak termasuk klausa mengikut, pertanyaan akan mengembalikan set yang arbitrari 25 rekod daripada jadual pelajar yang memenuhi klausa WHERE.

Predicate atas tidak memilih antara nilai yang sama. Dalam contoh sebelumnya, jika yang dua puluh-kelima dan dua puluh-keenam tertinggi gred titik purata adalah sama, pertanyaan akan mengembalikan 26 rekod.

Anda juga boleh menggunakan perkataan simpanan peratus untuk mengembalikan peratusan tertentu rekod yang berada di atas atau bawah julat yang ditentukan dengan Klausa mengikut. Katakan, dan bukannya pelajar atas 25, anda inginkan bahagian bawah 10 peratus kelas:

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

ASC predicate menentukan pulangan nilai bawah. Nilai yang mengikuti atas mesti Integer tidak ditandatangani.

ATAS tidak mempengaruhi sama ada atau tidak pertanyaan yang boleh dikemas kini.

jadual

Nama jadual yang daripadanya rekod diambil.



Nota: Notis Penafian Penterjemahan Mesin: Artikel ini telah diterjemah oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan penterjemahan mesin ini untuk membantu pengguna-pengguna yang tidak bertutur dalam Bahasa Inggeris supaya dapat menikmati kandungan mengenai produk, perkhidmatan dan teknologi Microsoft. Artikel ini mungkin mengandungi ralat perbendaharaan kata, sintaks atau tatabahasa kerana ia diterjemahkan oleh mesin.

Kembangkan kemahiran anda
Jelajahi latihan
Dapatkan ciri baru terlebih dahulu
Sertai Office Insiders

Adakah maklumat ini membantu?

Terima kasih atas maklum balas anda!

Terima kasih atas maklum balas anda! Nampaknya ia mungkin akan membantu untuk menyambungkan anda kepada salah seorang daripada ejen sokongan Office kami.

×