Pengenalan kepada Access SQL

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 yang memahami program pangkalan data. Mengetahui SQL adalah penting kerana setiap pertanyaan dalam Microsoft Access menggunakan SQL. Memahami cara SQL berfungsi boleh membantu mencipta pertanyaan yang lebih baik, dan boleh memudahkan anda untuk membaiki pertanyaan apabila ia tidak mengembalikan hasil yang anda inginkan.

Nota: Anda tidak boleh mengedit SQL untuk pertanyaan web.

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

Maklumat lanjut tentang Klausa SELECT

Maklumat lanjut tentang Klausa FROM

Maklumat lanjut tentang Klausa WHERE

Apa itu SQL

SQL ialah bahasa komputer untuk bekerja dengan set fakta dan perhubungan antaranya. Program pangkalan data hubungan, seperti capaian, gunakan SQL untuk bekerja dengan data. 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 adalah 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 dengan 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 mendapatkan dari 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 menjadi 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. Namun, pertimbangkan untuk menggunakan garis untuk Klausa setiap untuk membantu meningkatkan kebolehbacaan kenyataan 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 kenyataan SQL bagi pertanyaan Pilih rupa dalam Access:

Tab objek SQL menunjukkan penyata SELECT

1. Klausa SELECT

2. dari Klausa

3. Klausa WHERE

Contoh ini penyata 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 seksyen ini di penghujung artikel ini:

Maklumat lanjut tentang Klausa SELECT

Maklumat lanjut tentang Klausa FROM

Maklumat lanjut tentang Klausa WHERE

Mengisih hasil: mengikut TERTIB

Seperti Microsoft Office 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: yang 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 artikel gabungkan hasil beberapa pertanyaan Pilih menggunakan pertanyaan Kesatuan.

Halaman Atas

Maklumat lanjut tentang Klausa SELECT

Dalam kenyataan SELECT, Klausa SELECT senarai medan yang mengandungi data yang anda ingin gunakan.

Menggunakan tanda kurung siku mengurung pengecam

Anda boleh menggunakan tanda kurung siku mengurung nama medan dalam Klausa SELECT. Jika nama tidak mengandungi sebarang ruang atau aksara Khas (seperti tanda baca tanda), tanda kurung siku adalah pilihan. Jika nama mengandungi ruang atau aksara khas, anda mesti menggunakan kurungan.

Petua: Nama yang mengandungi ruang lebih mudah dibaca dan boleh menjimatkan masa anda apabila anda mereka bentuk borang dan laporan, tetapi mungkin Tamatkan membuat anda menaip lebih apabila anda menulis penyata SQL. Anda harus Pertimbangkan fakta ini apabila anda nama objek dalam pangkalan data anda.

Jika penyata SQL anda mempunyai dua atau lebih medan yang mempunyai nama yang sama, anda mesti menambah nama sumber data setiap medan nama medan dalam Klausa SELECT. Anda menggunakan nama yang sama bagi sumber data yang anda gunakan dalam Klausa FROM.

Pilih semua medan

Apabila anda ingin masukkan semua medan daripada sumber data, anda boleh sama ada senarai semua medan secara individu dalam Klausa SELECT, atau anda boleh menggunakan aksara Kad bebas asterisk (*). Apabila anda menggunakan asterisk, Access menentukan apabila pertanyaan menjalankan Apakah medan sumber data mengandungi dan termasuk semua orang medan dalam pertanyaan. Ini membantu memastikan bahawa pertanyaan sentiasa terkini jika medan baru ditambahkan ke sumber data.

Anda boleh menggunakan asterisk dengan satu atau lebih banyak sumber data dalam penyata SQL. Jika anda menggunakan asterisk dan terdapat berbilang sumber data, anda mesti memasukkan nama sumber data bersama-sama dengan asterisk, agar Access boleh menentukan sumber data yang termasuk semua medan daripada.

Contohnya, katakan anda ingin pilih semua medan daripada jadual pesanan tetapi hanya alamat e-mel daripada jadual kenalan. Klausa SELECT anda mungkin kelihatan seperti ini:

SELECT Orders.*, Contacts.[E-mail Address]

Nota: Sentiasa menjejaki janji apabila anda menggunakan asterisk. Jika medan baru kemudian ditambahkan ke sumber data dan anda tidak merancang untuk mereka, hasil pertanyaan anda mungkin tidak menghidupkan seperti yang anda inginkan.

Pilih nilai yang berbeza

Jika anda tahu bahawa penyata anda akan memilih data lewah, dan anda ingin melihat hanya nilai yang berbeza, anda boleh menggunakan kata kunci DISTINCT dalam Klausa SELECT anda. Contohnya, katakan anda pelanggan setiap mewakili beberapa kepentingan yang berbeza, beberapa yang menggunakan nombor telefon yang sama. Jika anda ingin memastikan bahawa anda hanya melihat setiap nombor telefon sekali, Klausa SELECT anda kelihatan seperti berikut:

SELECT DISTINCT [txtCustomerPhone]

Gunakan Gantikan nama untuk medan atau ungkapan: ke sebagai kata kunci

Anda boleh mengubah label yang dipaparkan untuk sebarang medan dalam pandangan helaian data menggunakan kata kunci AS dan alias medan dalam Klausa SELECT anda. Alias medan ialah nama yang anda Untukkan pada medan dalam pertanyaan untuk membuat hasil lebih mudah dibaca. Contohnya, jika anda ingin memilih data daripada medan yang dinamakan txtCustPhone dan medan yang mengandungi nombor telefon pelanggan, anda boleh meningkatkan kebolehbacaan hasil anda menggunakan alias medan dalam kenyataan SELECT anda, seperti berikut:

SELECT [txtCustPhone] AS [Customer Phone]

Nota: Anda mesti menggunakan alias medan apabila anda menggunakan ungkapan dalam Klausa SELECT.

Pilih menggunakan ungkapan

Kadangkala, anda ingin lihat pada pengiraan yang berdasarkan data anda atau mengambil hanya sebahagian daripada medan data. Contohnya, katakan anda ingin kembali pada tahun yang pelanggan dilahirkan, berdasarkan data dalam medan tarikh lahir dalam pangkalan data anda. Klausa SELECT anda mungkin kelihatan seperti berikut:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Ungkapan ini terdiri daripada yang fungsi DatePart dan dua argumen — "yyyy" (pemalar), dan [BirthDate] (pengecam).

Anda boleh menggunakan sebarang ungkapan sah sebagai medan, jika ungkapan output nilai tunggal apabila diberi nilai input tunggal.

Halaman Atas

Maklumat lanjut tentang Klausa FROM

Dalam kenyataan SELECT, Klausa FROM menentukan Jadual atau pertanyaan yang mengandungi data yang Klausa SELECT akan digunakan.

Katakan anda ingin tahu nombor telefon pelanggan yang khusus. Menganggap bahawa jadual yang mengandungi medan yang menyimpan data ini dipanggil tblCustomer, Klausa FROM akan kelihatan seperti berikut:

FROM tblCustomer

Menggunakan tanda kurung siku mengurung pengecam

Anda boleh menggunakan tanda kurung siku mengurung nama. Jika nama tidak mengandungi sebarang ruang atau aksara Khas (seperti tanda baca tanda), tanda kurung siku adalah pilihan. Jika nama mengandungi ruang atau aksara khas, anda mesti menggunakan kurungan.

Petua: Nama yang mengandungi ruang lebih mudah dibaca dan boleh menjimatkan masa anda apabila anda mereka bentuk borang dan laporan, tetapi mungkin Tamatkan membuat anda menaip lebih apabila anda menulis penyata SQL. Anda harus Pertimbangkan fakta ini apabila anda nama objek dalam pangkalan data anda.

Gunakan menggantikan nama untuk sumber data

Anda boleh menggunakan nama yang berbeza untuk merujuk kepada sumber data dalam penyata Pilih menggunakan alias Jadual dalam Klausa FROM anda. Alias Jadual ialah nama yang anda memperuntukkan sumber data dalam pertanyaan apabila anda menggunakan ungkapan sebagai sumber data, atau untuk memudahkan kenyataan SQL taipkan dan membaca. Ini mungkin berguna jika nama sumber data adalah panjang atau sukar untuk menaip, terutamanya apabila terdapat berbilang medan yang mempunyai nama yang sama daripada jadual berlainan.

Contohnya, jika anda ingin memilih data daripada dua medan, kedua-dua ID dinamakan, salah satu daripada yang datang daripada jadual tblCustomer dan satu lagi daripada jadual tblOrder, Klausa SELECT anda mungkin kelihatan seperti berikut:

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

Menggunakan alias Jadual dalam Klausa FROM anda, anda boleh membuat pertanyaan lebih mudah untuk menaip. Klausa FROM anda, dengan Alias Jadual, mungkin kelihatan seperti berikut:

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

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

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

Nota: Apabila anda menggunakan alias Jadual, anda boleh merujuk kepada sumber data dalam penyata SQL anda menggunakan alias atau dengan menggunakan nama penuh sumber data.

Menyertai data berkaitan

Apabila anda memerlukan cara untuk menggabungkan pasangan rekod daripada dua sumber data ke dalam rekod tunggal dalam hasil pertanyaan, anda boleh melaksanakan cantuman. Cantuman ialah operasi SQL yang menentukan cara dua sumber data berkaitan, dan sama ada data daripada satu sumber patut dimasukkan jika tiada data yang sepadan daripada sumber lain.

Untuk menggabungkan maklumat daripada dua sumber data, anda melaksanakan operasi cantum pada medan yang mereka yang sama. Apabila memadankan nilai yang disimpan dalam medan ini, data daripada rekod digabungkan dalam hasil.

Di samping menggabungkan data, anda juga menggunakan cantuman untuk menentukan sama ada untuk menyertakan rekod daripada jadual sama ada jika terdapat tiada rekod yang sepadan dalam Jadual berkaitan.

Contohnya, katakan anda ingin menggunakan data daripada dua Jadual dalam pertanyaan: tblCustomer dan tblOrder. Kedua-dua Jadual Kedua-dua mempunyai medan, ID pelanggan yang mengenal pasti yang pelanggan. Setiap rekod dalam Jadual tblCustomer mungkin mempunyai satu atau lebih rekod sepadan dalam Jadual tblOrder dan nilai yang sepadan yang boleh ditentukan oleh nilai dalam medan ID pelanggan.

Jika anda ingin cantumkan Jadual supaya pertanyaan menggabungkan rekod daripada jadual, termasuk rekod daripada jadual sama ada jika tiada rekod yang sepadan dalam terdapat Jadual lain, anda Klausa FROM mungkin kelihatan seperti berikut (garis pemisah ditambah di sini untuk kebolehbacaan):

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

Dalam Microsoft Office Access, cantum berlaku dalam Klausa FROM penyata SELECT. Terdapat dua jenis cantum: cantum dalaman dan cantum Luaran. Seksyen berikut menerangkan jenis cantuman.

Cantum dalaman

Cantum dalaman ialah jenis cantuman yang paling biasa. Apabila pertanyaan dengan cantuman dalaman menjalankan, hanya rekod yang termasuk dalam hasil pertanyaan adalah rekod tersebut di mana nilai sepunya wujud dalam kedua-dua Jadual dicantum.

Cantuman dalaman mempunyai sintaks berikut (garis pemisah ditambah di sini untuk kebolehbacaan):

FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field2

Jadual berikut menerangkan bahagian operasi INNER JOIN yang berlainan.

Bahagian

Perihalan

jadual1, jadual2

Nama jadual yang mana rekod digabungkan.

field1, field2

Nama medan yang digabungkan. Jika ia bukan berangka, medan mesti jenis data yang sama dan mengandungi data jenis yang sama tetapi ia tidak perlu mempunyai nama yang sama.

compopr

Apa-apa operator perbandingan yang berkaitan: "=," "<," ">," "<=," ">=," atau "<>."

Cantum Luaran

Cantum luaran adalah serupa dengan cantum dalaman kerana ia memberitahu pertanyaan cara untuk menggabungkan maklumat daripada dua sumber. Ia adalah berbeza kerana ia juga menentukan sama ada untuk memasukkan data mana nilai sepunya wujud. Cantum luaran adalah berarah: anda boleh menentukan sama ada untuk menyertakan semua rekod daripada sumber data pertama yang ditentukan dalam cantuman (dipanggil cantum kiri), atau untuk memasukkan semua rekod daripada sumber data yang kedua dalam cantuman (dipanggil cantum kanan).

Cantuman luaran mempunyai sintaks berikut:

DARIPADA table1 [kiri | CANTUM kanan] jadual2
pada table1.field1compopr table2.field2

Jadual berikut menerangkan bahagian operasi LEFT JOIN dan RIGHT JOIN yang berlainan.

Bahagian

Perihalan

jadual1, jadual2

Nama jadual yang mana rekod digabungkan.

field1, field2

Nama medan yang digabungkan. Medan mesti bagi sama jenis data dan mengandungi jenis data yang sama, tetapi mereka tidak perlu mempunyai nama yang sama.

compopr

Apa-apa operator perbandingan yang berkaitan: "=," "<," ">," "<=," ">=," atau "<>."

Untuk maklumat lanjut tentang cantum, lihat artikel menyertai jadual dan pertanyaan.

Halaman Atas

Maklumat lanjut tentang Klausa WHERE

Apabila anda ingin menggunakan data untuk mengehadkan bilangan rekod yang dikembalikan dalam pertanyaan, anda menggunakan pertanyaan kriteria dalam Klausa WHERE kenyataan SELECT. Kriteria pertanyaan adalah serupa dengan formula — ia adalah rentetan yang mungkin terdiri daripada medan rujukan, operator dan pemalar. Kriteria pertanyaan adalah sejenis ungkapan.

Jadual berikut menunjukkan beberapa kriteria sampel dan menerangkan cara ia berfungsi.

Kriteria

Perihalan

> 25 dan < 50

Kriteria ini digunakan pada medan nombor, seperti harga atau UnitsInStock. Ia termasuk rekod hanya tersebut di mana medan yang mengandungi nilai yang lebih besar daripada 25 dan kurang daripada 50.

DateDiff ("yyyy", [BirthDate], Date()) > 30

Kriteria ini digunakan pada medan tarikh/masa, seperti tarikh lahir. Hanya rekod yang bilangan tahun antara tarikh lahir individu dan tarikh hari ini adalah lebih besar daripada 30 termasuk dalam hasil pertanyaan.

Is Null

Kriteria ini boleh digunakan untuk sebarang jenis medan untuk menunjukkan rekod di mana nilai medan adalah nol.

Seperti jadual sebelumnya ditunjukkan, kriteria boleh melihat sangat berbeza antara satu sama lain bergantung pada jenis data bagi medan yang menggunakan kriteria dan keperluan tertentu. Beberapa kriteria mudah dan menggunakan asas operator dan pemalar. Orang lain yang kompleks, gunakan fungsi dan operator khas dan memasukkan rujukan medan.

Penting: Jika medan digunakan dengan fungsi agregat, anda tidak boleh menentukan kriteria untuk medan tersebut dalam Klausa WHERE. Sebaliknya, anda gunakan Klausa HAVING untuk menentukan kriteria untuk medan teragregat. Untuk maklumat lanjut, lihat seksyen bekerja dengan data yang diringkaskan: KUMPUL mengikut dan HAVING.

Sintaks Klausa WHERE

Klausa WHERE mempunyai sintaks asas yang berikut:

WHERE field = criterion

Contohnya, katakan anda ingin nombor telefon pelanggan, tetapi anda hanya ingat bahawa nama keluarga pelanggan Bagel. Selain daripada melihat semua nombor telefon dalam pangkalan data anda, anda boleh gunakan Klausa WHERE untuk mengehadkan hasil dan menjadikannya lebih mudah untuk mencari nombor telefon yang anda inginkan. Menganggap bahawa nama keluarga disimpan dalam medan yang dinamakan Namakeluarga, Klausa WHERE anda kelihatan seperti berikut:

WHERE [LastName]='Bagel'

Nota: You do not have to base the criteria in your WHERE clause on the equivalence of values. You can use other comparison operators, such as greater than (>) or less than (<). For example, WHERE [Price]>100.

Gunakan Klausa WHERE untuk menggabungkan sumber data

Kadangkala anda mungkin ingin menggabungkan sumber data berdasarkan pada medan yang mempunyai data yang sepadan, tetapi mempunyai jenis data yang berbeza. Contohnya, medan dalam satu jadual mungkin mempunyai jenis data nombor dan anda ingin Bandingkan medan tersebut ke dalam Jadual lain yang mempunyai jenis data teks.

Anda tidak boleh mencipta cantum antara medan yang mempunyai jenis data yang berbeza. Untuk menggabungkan data daripada dua sumber data berdasarkan nilai dalam medan yang mempunyai jenis data yang berbeza, anda mencipta Klausa WHERE yang menggunakan satu medan sebagai kriteria untuk medan lain, dengan kata kunci seperti.

Contohnya, katakan anda ingin menggunakan data daripada table1 dan table2, tetapi hanya apabila data dalam medan1 (medan teks dalam table1) sepadan dengan data dalam field2 (medan nombor dalam jadual2). Klausa WHERE anda akan kelihatan seperti berikut:

WHERE field1 LIKE field2

Untuk maklumat lanjut tentang cara mencipta kriteria menggunakan dalam Klausa WHERE, lihat artikel contoh kriteria 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.

×