Access SQL: konsep asas, Perbendaharaan kata dan sintaks

Access SQL: konsep asas, Perbendaharaan kata dan sintaks

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

Apabila anda ingin mengambil data daripada pangkalan data, anda meminta data menggunakan bahasa pertanyaan berstruktur atau SQL. SQL ialah bahasa komputer yang rapat menyerupai Bahasa Inggeris, tetapi memahami program pangkalan data. Setiap pertanyaan yang anda jalankan menggunakan SQL di sebalik tabir.

Memahami cara SQL berfungsi boleh membantu anda mencipta pertanyaan yang lebih baik, dan boleh memudahkan anda untuk memahami cara untuk membaiki pertanyaan yang tidak mengembalikan hasil yang anda inginkan.

Ini adalah salah satu set artikel tentang Access SQL. Artikel ini menerangkan asas penggunaan SQL untuk memilih data dan menggunakan contoh untuk menggambarkan sintaks SQL.

Dalam artikel ini

Apa itu SQL

Klausa SQL asas: Pilih, daripada, dan di mana

Mengisih hasil: mengikut TERTIB

Bekerja dengan data yang diringkaskan: KUMPUL mengikut dan HAVING

Menggabungkan hasil pertanyaan: Kesatuan

Apa itu SQL

SQL ialah bahasa komputer untuk bekerja dengan set fakta dan perhubungan antaranya. Program pangkalan data hubungan, seperti Microsoft Office Access, gunakan SQL untuk bekerja dengan data. Berbeza dengan banyak komputer Bahasa SQL bukan sukar untuk dibaca dan memahami, juga bagi novis yang. Seperti banyak komputer Bahasa SQL adalah standard antarabangsa yang dikenali oleh badan Standard seperti ISO dan ANSI.

Anda menggunakan SQL untuk menerangkan set data yang boleh membantu anda menjawab soalan. Apabila anda menggunakan SQL, anda mesti menggunakan sintaks yang betul. Sintaks adalah set peraturan yang unsur Bahasa dengan betul digabungkan. Sintaks SQL berdasarkan sintaks Bahasa Inggeris dan menggunakan banyak unsur yang sama sebagai Visual Basic for Applications (VBA) sintaks.

Contohnya, penyata SQL ringkas yang mengambil senarai nama terakhir kenalan yang nama pertama ialah Mary mungkin kelihatan seperti ini:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Nota: SQL tidak hanya digunakan untuk memanipulasikan data tetapi juga untuk mencipta dan mengubah Reka bentuk objek pangkalan data, seperti jadual. Sebahagian daripada SQL yang digunakan untuk mencipta dan mengubah objek pangkalan data dipanggil Bahasa takrifan data (DDL). Topik ini merangkumi DDL. Untuk maklumat lanjut, lihat artikel mencipta atau mengubah suai Jadual atau Indeks menggunakan pertanyaan takrifan data.

Penyata SELECT

Untuk menerangkan set data menggunakan SQL, anda menulis penyata SELECT. Kenyataan SELECT mengandungi perihalan yang lengkap bagi set data yang anda ingin dapatkan daripada pangkalan data. Ini termasuk yang berikut:

  • Apakah Jadual mengandungi data.

  • Cara data daripada sumber yang berbeza berkaitan.

  • Medan atau pengiraan yang akan menghasilkan data.

  • Kriteria yang data mesti sepadan dengan disertakan.

  • Sama ada dan cara mengisih keputusan.

Klausa SQL

Seperti ayat, penyata SQL mempunyai Klausa. Klausa setiap melaksanakan fungsi bagi penyata SQL. Klausa beberapa diperlukan dalam kenyataan SELECT. Jadual berikut menyenaraikan Klausa SQL yang paling 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

Istilah SQL

Klausa SQL setiap terdiri daripada terma — dibandingkan dengan bahagian yang pertuturan. Jadual berikut menyenaraikan jenis istilah SQL.

Istilah SQL

Dibandingkan golongan kata

Takrifan

Contoh

pengecam

kata nama

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

Pelanggan. [Nombor telefon]

operator

kata kerja atau adverb

Kata kunci yang mewakili tindakan atau mengubah suai tindakan.

AS

pemalar

kata nama

Nilai yang tidak berubah, seperti nombor atau NULL.

42

ungkapan

sifat

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

>= Products.[Unit Price]

Halaman atas

Klausa SQL asas: Pilih, daripada, dan di mana

Penyata SQL membawa borang umum:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Nota: 

  • Capaian mengabaikan garis pemisah dalam penyata SQL. Walau bagaimanapun, pertimbangkan untuk menggunakan garis untuk Klausa setiap untuk membantu meningkatkan kebolehbacaan penyata SQL anda untuk diri anda dan orang lain.

  • Setiap penyata SELECT berakhir dengan koma bernoktah (;). Koma bernoktah boleh muncul di hujung Klausa terakhir atau sebaris dengannya pada penghujung penyata SQL.

Contoh dalam Access

Berikut menggambarkan penyata SQL bagi pertanyaan Pilih rupa dalam Access:

Tab objek SQL menunjukkan penyata SELECT

1. Klausa SELECT

2. dari Klausa

3. Klausa WHERE

Contoh ini kenyataan SQL membaca "Pilih data yang disimpan dalam medan yang dinamakan e-mel alamat dan Syarikat daripada jadual yang bernama kenalan, khususnya tersebut rekod yang nilai medan bandar adalah Seattle."

Mari kita lihat pada contoh, satu Klausa pada satu masa, untuk melihat cara sintaks SQL berfungsi.

Klausa SELECT

SELECT [E-mail Address], Company

Ini adalah Klausa SELECT. Ia terdiri daripada operator (Pilih) diikuti oleh dua pengecam ([alamat e-mel] dan Syarikat).

Jika pengecam mengandungi ruang atau aksara Khas (seperti "alamat e-mel"), ia mesti dikurung dalam tanda kurung siku.

Klausa SELECT perlu katakan jadual yang mengandungi medan, dan ia tidak boleh menentukan sebarang syarat yang mesti dipenuhi dengan data yang dimasukkan.

Klausa SELECT sentiasa muncul di hadapan Klausa FROM dalam kenyataan SELECT.

Klausa FROM

FROM Contacts

Ini adalah Klausa FROM. Ia terdiri daripada operator (daripada) diikuti dengan pengecam (kenalan).

Klausa FROM senarai medan yang dipilih.

Klausa WHERE

WHERE City="Seattle"

Ini adalah Klausa WHERE. Ia terdiri daripada operator (tempat) diikuti dengan ungkapan (bandar = "Seattle").

Nota: Berbeza dengan Pilih dan daripada Klausa, Klausa WHERE adalah tidak unsur yang diperlukan penyata SELECT.

Anda boleh siapkan banyak tindakan yang SQL membolehkan anda lakukan menggunakan pilih, daripada, dan Klausa WHERE. Maklumat lanjut tentang cara anda menggunakan klausa ini dipersembahkan dalam artikel tambahan berikut:

Halaman atas

Mengisih hasil: mengikut TERTIB

Seperti Microsoft Excel, Access membolehkan anda Mengisih hasil pertanyaan dalam helaian data. Anda juga boleh menentukan dalam pertanyaan cara anda ingin Mengisih hasil apabila pertanyaan berjalan, menggunakan Klausa mengikut. Jika anda menggunakan Klausa mengikut, ia adalah Klausa terakhir dalam penyata SQL.

Klausa mengikut mengandungi senarai medan yang anda ingin gunakan untuk mengisih dalam tertib yang sama yang anda ingin gunakan pengendalian isihan.

Contohnya, katakan anda inginkan hasil anda Diisih terlebih dahulu mengikut nilai medan Syarikat dalam tertib, menurun dan — jika terdapat rekod dengan nilai yang sama untuk Syarikat — Diisih mengikut nilai dalam medan alamat e-mel berikut dalam tertib menaik. Klausa mengikut anda akan kelihatan seperti berikut:

ORDER BY Company DESC, [E-mail Address]

Nota: Secara lalai, Access Mengisih nilai dalam menaik (A-Z, terkecil ke terbesar). Menggunakan kata kunci DESC untuk mengisih nilai dalam tertib menurun sebaliknya.

Untuk maklumat lanjut tentang Klausa mengikut, lihat topik mengikut Klausa.

Halaman atas

Bekerja dengan data yang diringkaskan: KUMPUL mengikut dan HAVING

Kadangkala anda ingin bekerja dengan data yang diringkaskan, seperti jumlah jualan dalam sebulan atau item paling mahal dalam inventori. Untuk melakukan ini, anda gunakan untuk fungsi agregat medan dalam Klausa SELECT anda. Contohnya, jika anda inginkan pertanyaan anda untuk menunjukkan bilangan alamat e-mel yang disenaraikan bagi setiap Syarikat, Klausa SELECT anda mungkin kelihatan seperti berikut:

SELECT COUNT([E-mail Address]), Company

Fungsi agregat yang anda boleh gunakan bergantung pada jenis data dalam medan atau ungkapan yang anda ingin gunakan. Untuk maklumat lanjut tentang fungsi agregat yang tersedia, lihat artikel Fungsi agregat SQL.

Menentukan medan yang tidak digunakan dalam fungsi agregat: dalam Kumpulan dengan Klausa

Apabila anda menggunakan fungsi agregat, anda biasanya mesti juga mencipta Klausa GROUP BY yang. Klausa GROUP BY yang menyenaraikan semua medan yang anda tidak gunakan fungsi agregat. Jika anda menggunakan fungsi agregat semua medan dalam pertanyaan, anda tidak perlu mencipta Klausa GROUP BY.

Klausa GROUP BY yang betul-betul mengikuti Klausa WHERE atau Klausa FROM jika terdapat tiada Klausa WHERE. Klausa GROUP BY yang menyenaraikan medan yang kelihatan dalam Klausa SELECT.

Contohnya, meneruskan contoh sebelumnya, jika Klausa SELECT anda menggunakan fungsi agregat [alamat e-mel] tetapi tidak ke Syarikat, Klausa GROUP BY anda akan kelihatan seperti berikut:

GROUP BY Company

Untuk maklumat lanjut tentang Klausa GROUP BY, lihat topik Klausa GROUP BY.

Mengehadkan nilai agregat menggunakan kriteria Kumpulan: Klausa HAVING

Jika anda ingin gunakan kriteria untuk mengehadkan hasil anda, tetapi medan yang anda ingin gunakan kriteria untuk digunakan dalam fungsi agregat, anda tidak boleh menggunakan Klausa WHERE. Sebaliknya, anda gunakan Klausa HAVING. Klausa HAVING berfungsi seperti Klausa WHERE, tetapi digunakan untuk data teragregat.

Contohnya, katakan anda menggunakan fungsi AVG (yang mengira nilai purata) dengan medan pertama dalam Klausa SELECT anda:

SELECT COUNT([E-mail Address]), Company

Jika anda inginkan pertanyaan untuk mengehadkan hasil berdasarkan nilai fungsi COUNT tersebut, anda tidak boleh menggunakan kriteria bagi medan tersebut dalam Klausa WHERE. Sebaliknya, anda meletakkan kriteria dalam Klausa HAVING. Contohnya, jika anda hanya inginkan pertanyaan mengembalikan baris jika terdapat lebih daripada alamat satu e-mel yang dikaitkan dengan Syarikat, Klausa HAVING mungkin kelihatan seperti berikut:

HAVING COUNT([E-mail Address])>1

Nota: Pertanyaan boleh mempunyai Klausa WHERE dan Klausa HAVING — kriteria untuk medan yang tidak digunakan dalam fungsi agregat pergi dalam Klausa WHERE dan kriteria untuk medan yang digunakan dengan fungsi agregat pergi dalam Klausa HAVING.

Untuk maklumat lanjut tentang Klausa HAVING, lihat topik HAVING Klausa.

Halaman atas

Menggabungkan hasil pertanyaan: Kesatuan

Apabila anda ingin semak semula semua data yang dikembalikan oleh beberapa pertanyaan Pilih yang sama bersama-sama, sebagai satu set tergabung, anda menggunakan UNION operator.

UNION operator membenarkan anda menggabungkan dua penyata SELECT menjadi satu. Penyata SELECT yang anda menggabungkan mesti mempunyai bilangan medan output, dalam tertib yang sama dan dengan jenis data yang sama atau serasi. Apabila anda menjalankan pertanyaan, data daripada setiap set medan sepadan digabungkan ke dalam satu output medan agar output pertanyaan mempunyai bilangan medan sebagai setiap penyata select yang sama.

Nota: Untuk tujuan pertanyaan kesatuan, jenis data Nombor dan Teks adalah serasi.

Apabila anda menggunakan UNION operator, anda juga boleh menentukan sama ada hasil pertanyaan akan memasukkan baris pendua, jika mana-mana wujud, menggunakan kata kunci semua.

Sintaks SQL asas untuk pertanyaan Kesatuan yang menggabungkan dua penyata SELECT adalah seperti berikut:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Contohnya, katakan anda mempunyai jadual yang bernama produk dan jadual lain yang bernama Perkhidmatan. Kedua-dua Jadual mempunyai medan yang mengandungi nama produk atau perkhidmatan, harga, jaminan atau jaminan ketersediaan, dan sama ada anda menawarkan produk atau perkhidmatan secara eksklusif. Walaupun Jadual produk menyimpan maklumat waranti, dan menyimpan Jadual Perkhidmatan menjamin maklumat, maklumat asas adalah sama (sama ada tertentu produk atau perkhidmatan termasuk janji kualiti). Anda boleh menggunakan pertanyaan Kesatuan, seperti yang berikut untuk menggabungkan empat medan daripada dua Jadual:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Untuk maklumat lanjut tentang cara untuk menggabungkan penyata SELECT dengan UNION operator, lihat gabungkan hasil beberapa pertanyaan Pilih menggunakan pertanyaan Kesatuan.

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.

×