Mengedit penyata SQL untuk menghalusi hasil pertanyaan

Mengedit penyata SQL untuk menghalusi hasil pertanyaan

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

Jika pertanyaan anda tidak bekerja cukup keras, menambah beberapa asas penyata SQL boleh membantu menumpukan hasil anda. Mari kita lihat beberapa jenis penyata SQL dan klausa atau bahagian yang anda mungkin mengedit untuk mendapatkan hasil yang anda inginkan.

Nota: Artikel ini tidak boleh digunakan untuk aplikasi web Access - jenis pangkalan data yang anda reka bentuk menggunakan Access dan terbitkan dalam talian. Lihat Mencipta aplikasi Access untuk mendapatkan maklumat lanjut.

Dalam artikel ini

Mencipta penyata Pilih

Menyesuaikan Klausa SELECT

Menyesuaikan Klausa FROM

Menyesuaikan Klausa WHERE

Menyesuaikan dengan UNION operator

Mencipta penyata Pilih

Penyata pilih SQL mempunyai dua hingga tiga klausa. Klausa SELECT memberitahu pangkalan data tempat untuk mencari data dan memintanya mengembalikan hasil tertentu.

Nota: Penyata SELECT sentiasa berakhir dengan koma bernoktah (;) sama ada pada hujung klausa terakhir atau sebaris dengannya pada penghujung penyata SQL.

Penyata pilih berikut meminta Access mendapatkan maklumat daripada lajur Alamat E-mel dan Syarikat, daripada jadual Kenalan, khususnya tempat ia menemui "Seattle" dalam lajur Bandar.

Tab objek SQL menunjukkan penyata SELECT

Pertanyaan di atas mempunyai tiga klausa SELECT, FROM dan WHERE.

1. Klausa SELECT menyenaraikan lajur yang mengandungi data yang anda ingin gunakan dan mempunyai operator (SELECT) diikuti dengan dua pengecam (Alamat E-mel dan Syarikat). Jika pengecam mempunyai ruang atau aksara khas (seperti "Alamat E-mel"), kurungkan pengecam dalam tanda kurung siku.

2. Klausa FROM mengenal pasti jadual sumber. Dalam contoh ini, ia mempunyai operator (FROM) diikuti dengan pengecam (Kenalan).

3. Klausa WHERE adalah klausa pilihan. Contoh ini mempunyai operator (WHERE) diikuti dengan ungkapan (Bandar="Seattle").

Untuk maklumat lanjut mengenai pertanyaan Pilih lihat, mencipta pertanyaan Pilih ringkas.

Berikut adalah senarai klausa SQL biasa:

Klausa SQL

Fungsinya

Diperlukan ?

SELECT

Menyenaraikan medan yang mengandungi data kepentingan.

Ya

FROM

Menyenaraikan jadual yang mengandungi medan yang disenaraikan dalam klausa SELECT.

Ya

WHERE

Menentukan kriteria medan yang mesti dipenuhi oleh setiap rekod untuk dimasukkan ke dalam keputusan.

Tidak

ORDER BY

Menentukan cara mengisih keputusan.

Tidak

GROUP BY

Dalam penyata SQL yang mengandungi fungsi agregat, senarai medan yang tidak diringkaskan dalam klausa SELECT.

Hanya jika terdapat medan seperti itu

HAVING

Dalam penyata SQL yang mengandungi fungsi agregat, tentukan syarat yang dikenakan pada medan yang diringkaskan dalam penyata SELECT.

Tidak

Setiap klausa SQL terdiri daripada istilah. Berikut adalah senarai beberapa istilah SQL biasa.

Istilah SQL

Takrifan

Contoh

pengecam

Nama yang anda gunakan untuk mengenal pasti objek pangkalan data, seperti nama lajur.

[Alamat E-mel] dan Syarikat

Operator

Kata kunci yang mewakili tindakan atau mengubah suai tindakan.

AS

pemalar

Nilai yang tidak berubah, seperti nombor atau NULL.

42

ungkapan

Gabungan pengecam, operator, pemalar dan fungsi yang menilai sehingga nilai tunggal.

>= Products.[Unit Price]

Halaman atas

Menyesuaikan klausa SELECT

Sesuaikan

Contoh

Untuk melihat hanya nilai yang berbeza.

Menggunakan kata kunci DISTINCT dalam klausa SELECT anda.

Contohnya, jika pelanggan anda terdiri daripada beberapa pejabat cawangan yang berbeza dan ada yang mempunyai nombor telefon yang sama dan anda ingin hanya melihat nombor telefon yang disenaraikan sekali sahaja, klausa SELECT anda akan menjadi seperti ini:

SELECT DISTINCT [txtCustomerPhone] 

Untuk mengubah cara pengecam muncul dalam pandangan helai data bagi meningkatkan kebolehbacaan.

Gunakan operator AS (kata kunci yang mewakili tindakan atau mengubah suai tindakan) dengan alias medan dalam klausa SELECT anda. Alias medan adalah nama yang anda peruntukkan kepada medan untuk menjadikan keputusan lebih mudah untuk dibaca.

SELECT [txtCustPhone] AS [Customer Phone]

Menyesuaikan klausa FROM

Sesuaikan

Contoh

Anda boleh menggunakan alias jadual atau nama berbeza yang anda peruntukkan pada jadual dalam penyata pilih. Alias jadual berguna jika nama bagi nama jadual adalah panjang, terutamanya apabila anda mempunyai berbilang medan yang mempunyai nama yang sama daripada jadual yang berbeza.

Untuk memilih data daripada dua medan, kedua-dua ID dinamakan, salah satunya daripada jadual tblCustomer dan satu lagi daripada jadual tblOrder:

SELECT [tblCustomer].[ID], 
[tblOrder].[ID]

Menggunakan operator AS untuk mentakrifkan alias jadual dalam klausa FROM:

FROM [tblCustomer] AS [C], 
[tblOrder] AS [O]

Anda kemudian boleh menggunakan alias jadual dalam klausa SELECT anda, seperti berikut:

SELECT [C].[ID], 
[O].[ID]

Menggunakan cantum untuk menggabungkan pasangan rekod daripada dua sumber data menjadi hasil tunggal atau menentukan sama ada untuk memasukkan rekod daripada salah satu jadual jika tiada rekod yang sepadan dalam jadual berkaitan.

Cantumkan jadual supaya pertanyaan menggabungkan item daripada jadual, dan tidak memasukkan item apabila tiada rekod yang sepadan dalam jadual lain

Klausa FROM mungkin kelihatan seperti berikut:

FROM [tblCustomer] 
INNER JOIN [tblOrder]
ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

Mengenai menggunakan cantum

Terdapat dua jenis cantum, cantum dalaman dan luaran. Cantum dalaman adalah lebih biasa dalam pertanyaan. Apabila anda menjalankan pertanyaan dengan cantum dalaman, hasil menunjukkan hanya item yang nilai biasa wujud dalam kedua-dua jadual bercantum.

Cantum luaran menentukan sama ada untuk memasukkan data yang tiada nilai biasa wujud di dalamnya. Cantum luaran adalah berarah, bermakna anda boleh menentukan sama ada untuk memasukkan semua rekod daripada jadual pertama yang ditentukan dalam cantum (dipanggil cantum kiri), atau memasukkan semua rekod daripada jadual kedua dalam cantum (dipanggil cantum kanan). Cantum luaran mempunyai sintaks SQL berikut:

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 = table2.field2

Lihat maklumat lanjut menggunakan cantum dalam pertanyaan.

Halaman atas

Menyesuaikan klausa WHERE

Klausa WHERE termasuk kriteria yang membantu mengehadkan bilangan item yang dikembalikan dalam pertanyaan. Lihat contoh kriteria pertanyaan dan cara ia berfungsi.

Contoh cara anda boleh sesuaikan asas klausa WHERE adalah dengan mengehadkan hasil pertanyaan; Katakan anda ingin mengesan nombor telefon pelanggan, dan hanya mengingati nama keluarga beliau sebagai Bagel. Dalam contoh ini, nama keluarga disimpan dalam medan LastName, maka sintaks SQL akan menjadi:

WHERE [LastName]='Bagel'

Gunakan Klausa WHERE juga untuk menggabungkan sumber data untuk lajur yang mempunyai data, tetapi jenis data yang berbeza yang sepadan. Ini adalah berguna kerana anda tidak boleh mencipta cantuman antara medan yang mempunyai jenis data yang berbeza. Menggunakan satu medan sebagai kriteria untuk medan lain, dengan seperti kata kunci. Contohnya, jika anda ingin menggunakan data daripada jadual aset dan jadual pekerja, hanya apabila jenis aset aset taipkan medan jadual aset mempunyai nombor 3 dalam medan kuantiti jadual pekerja, Beginilah cara anda Klausa WHERE akan kelihatan:

WHERE field1 LIKE field2

Penting: Anda tidak boleh menentukan kriteria bagi medan yang digunakan dengan fungsi agregat dalam klausa WHERE. Sebaliknya, anda menggunakan klausa HAVING untuk menentukan kriteria medan agregat.

Halaman atas

Menyesuaikan dengan operator UNION

Menggunakan operator UNION apabila anda ingin melihat pandangan bergabung hasil daripada beberapa pertanyaan pilih yang sama. Contohnya, jika pangkalan data anda mempunyai jadual Produk dan jadual Perkhidmatan dan kedua-duanya mempunyai tiga medan: tawaran eksklusif atau produk atau perkhidmatan, harga, waranti atau jaminan. Walaupun jadual Produk menyimpan maklumat waranti, dan jadual Perkhidmatan menyimpan maklumat jaminan, maklumat asas adalah sama. Anda boleh menggunakan pertanyaan kesatuan untuk menggabungkan tiga medan daripada dua jadual seperti ini:

SELECT name, price, warranty, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee, exclusive_offer
FROM Services;

Apabila anda menjalankan pertanyaan, data daripada setiap set medan yang berpadanan digabungkan menjadi satu medan output. Untuk memasukkan sebarang baris pendua dalam keputusan, gunakan operator ALL.

Nota: Penyata Pilih mesti mempunyai nombor yang sama dengan medan output, dalam susunan yang sama dan dengan jenis data yang sama atau serasi. Untuk tujuan pertanyaan kesatuan, jenis data Nombor dan Teks adalah serasi.

Untuk maklumat lanjut tentang pertanyaan Kesatuan, lihat menggunakan pertanyaan Kesatuan untuk melihat hasil disatukan daripada berbilang pertanyaan.

Halaman atas

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.

×