Menyertai jadual dan pertanyaan

Menyertai jadual dan pertanyaan

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

Apabila anda memasukkan berbilang sumber data dalam pertanyaan Access, anda menggunakan cantum untuk mengehadkan rekod yang anda ingin lihat, berdasarkan cara sumber data yang berkaitan dengan satu sama lain. Anda juga menggunakan cantum untuk menggabungkan rekod daripada kedua-dua sumber data, supaya setiap pasangan rekod daripada sumber yang menjadi satu rekod dalam hasil pertanyaan.

Artikel ini membincangkan pelbagai jenis cantum dan menunjukkan anda cara menggunakannya dalam pertanyaan. Secara lalai, cantum dicipta secara automatik jika sudah terdapat perhubungan antara dua sumber data yang anda gunakan dalam pertanyaan. Cantuman juga dicipta jika terdapat medan yang jelas sepadan antara satu sama lain. Anda boleh memadamkan kepada cantuman secara automatik dicipta. Artikel ini menyediakan maklumat asas tentang perhubungan Jadual, termasuk cara untuk menciptanya.

Nota: Anda boleh menyertai pertanyaan dengan cara yang sama yang anda sertai jadual dan juga boleh menyertai kedua-duanya.

Dalam artikel ini

Gambaran keseluruhan

Menunjukkan baris yang mana nilai sepunya wujud dalam kedua-dua Jadual dicantum

Menunjukkan semua baris daripada satu jadual dan baris sepadan daripada jadual yang lain

Menunjukkan semua baris daripada kedua-dua jadual dan menyertai mereka di mana nilai sepunya wujud

Cantum bersilang

Menyertai jadual berdasarkan pada ketidaksamaan nilai medan

Memadamkan cantum

Gambaran keseluruhan

Pangkalan data ialah koleksi Jadual data yang ingat logik perhubungan antara satu sama lain. Anda menggunakan perhubungan untuk menyambungkan Jadual dengan medan yang mereka yang sama. Jadual boleh menjadi sebahagian daripada sebarang nombor perhubungan, tetapi setiap perhubungan sentiasa mempunyai betul-betul dua Jadual. Dalam pertanyaan, perhubungan diwakili oleh cantuman.

Apabila anda menambah Jadual pada pertanyaan, Access mencipta cantum yang berdasarkan perhubungan yang ditakrifkan antara Jadual. Anda boleh mencipta secara manual cantum dalam pertanyaan, walaupun ia mewakili perhubungan yang telah ditentukan. Jika anda menggunakan pertanyaan lain (bukannya atau selain daripada jadual) sebagai sumber data untuk pertanyaan, anda boleh mencipta cantum antara pertanyaan sumber, dan juga antara pertanyaan tersebut dan sebarang jadual yang anda gunakan sebagai sumber data.

Cantum berkelakuan begitu juga untuk kriteria pertanyaan yang mereka mewujudkan peraturan yang data mesti sepadan dengan akan disertakan dalam operasi pertanyaan. Berbeza dengan kriteria, cantum menentukan bahawa setiap pasangan baris yang memenuhi syarat cantuman boleh digabungkan dalam set rekod untuk membentuk baris tunggal.

Terdapat empat jenis asas cantum: cantum dalaman, cantum Luaran, cantum bersilang dan cantum. Artikel ini membincangkan setiap jenis cantum yang anda boleh menggunakan, sebab anda menggunakan setiap jenis dan cara untuk mencipta cantuman.

Halaman atas

Menunjukkan baris yang mana nilai sepunya wujud dalam kedua-dua Jadual dicantum

Jika anda hanya ingin menunjukkan baris yang mempunyai nilai sepadan dalam medan dicantum, anda boleh gunakan cantum dalaman. Access mencipta cantum dalaman secara automatik.

Cantum dalaman ialah jenis cantuman yang paling biasa. Ia memberitahu pertanyaan baris tersebut daripada salah satu daripada yang dicantum Jadual sepadan dengan baris dalam Jadual lain, berdasarkan data dalam medan dicantumkan. Apabila pertanyaan dengan cantuman dalaman menjalankan, hanya tersebut baris yang mana nilai sepunya wujud dalam kedua-dua Jadual dicantum akan disertakan dalam operasi pertanyaan.

Bagaimanakah saya menggunakan cantum dalaman?

Biasanya, anda tidak perlu melakukan apa-apa untuk menggunakan cantum dalaman. Jika jadual yang anda tambah kepada pertanyaan telah mempunyai perhubungan, Access akan mencipta secara automatik cantum dalaman antara setiap pasangan jadual berkaitan apabila anda menambah jadual. Jika rujukan integriti dikuatkuasakan, Access juga memaparkan "1" di atas garis cantum untuk menunjukkan jadual yang berada di bahagian "satu" hubungan satu ke banyak dan simbol infiniti () untuk menunjukkan jadual yang berada di bahagian "banyak".

Walaupun jika anda belum mencipta perhubungan, Access secara automatik mencipta cantum dalaman jika anda menambah dua Jadual pada pertanyaan dan jadual tersebut setiap mempunyai medan yang sama atau jenis data serasi dan satu medan cantuman ialah kunci primer. Simbol "satu" dan "banyak" tidak dipaparkan dalam kes ini, kerana integriti rujukan tidak dikuatkuasakan.

Jika anda menambah pertanyaan pada pertanyaan anda dan telah mencipta perhubungan antara pertanyaan tersebut, Access tidak secara automatik mencipta cantum dalaman antara pertanyaan tersebut atau antara pertanyaan dan jadual. Secara umumnya, anda harus mencipta mereka sendiri. Anda mencipta cantum dalaman dengan menyeret medan dari satu sumber data untuk medan pada sumber data lain. Access memaparkan garis antara dua medan untuk menunjukkan cantuman telah dicipta.

Sintaks SQL untuk cantum dalaman

Cantum dalaman ditentukan dalam SQL dalam klausa FROM, seperti yang ditunjukkan di bawah:

DARIPADA table1 INNER JOIN jadual2 ON table1. medan1 Bandingkan jadual2. field2

Operasi INNER JOIN mempunyai bahagian ini:

Bahagian

Perihalan

table1, table2

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.

Bandingkan

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

Untuk maklumat lanjut tentang sintaks cantum dalaman, lihat topik operasi INNER JOIN.

Halaman atas

Menunjukkan semua baris daripada satu jadual dan baris sepadan daripada jadual yang lain

Cantum luaran memberitahu pertanyaan yang walaupun beberapa baris pada kedua-dua belah cantuman yang betul-betul sepadan, pertanyaan akan termasuk semua baris daripada satu jadual dan baris tersebut dari jadual lain yang berkongsi nilai sepunya kedua-dua belah cantuman.

Cantum luaran boleh jadi cantum luaran kiri atau cantum luaran kanan. Dalam cantum luaran kiri, pertanyaan termasuk semua baris daripada jadual pertama dalam klausa FROM penyata SQL dan hanya baris daripada jadual lain yang mana medan cantum mengandungi nilai yang biasa pada kedua-dua jadual. Dalam cantum luaran kanan, pertanyaan termasuk semua baris daripada jadual kedua dalam klausa FROM penyata SQL dan hanya baris daripada jadual lain yang mana medan cantum mengandungi nilai yang biasa pada kedua-dua jadual.

Nota: Anda boleh dengan mudah memberitahu Jadual mana Jadual kiri atau kanan Jadual dalam cantuman diberikan dengan mendwiklik cantum dan kemudian Cari dalam kotak dialog Sifat cantuman . Anda boleh juga bertukar kepada pandangan SQL dan kemudian periksa Klausa FROM.

Oleh sebab sesetengah baris pada sebelah cantum luaran tidak akan mempunyai baris sepadan daripada jadual lain, sesetengah medan yang dikembalikan dalam hasil pertanyaan daripada jadual lain tersebut akan kosong apabila baris tidak sepadan.

Bagaimanakah saya menggunakan cantum luaran?

Anda mencipta cantum luaran dengan mengubah suai cantum dalaman sedia ada. Jika cantum dalaman tidak wujud, anda menciptanya, kemudian ubah kepada cantum luaran.

Mengubah cantum dalaman kepada cantum luaran

  1. Dalam pandangan Reka Bentuk pertanyaan, dwiklik cantum yang anda ingin ubah.

    Kotak dialog Sifat Cantuman muncul.

  2. Dalam kotak dialog Sifat cantuman , ambil perhatian pilihan yang disenaraikan di sebelah opsyen 2 dan opsyen 3.

  3. Klik Opsyen yang anda ingin gunakan, dan kemudian klik OK.

  4. Access memaparkan cantum dan menunjukkan anak panah yang menuding dari sumber data yang mana semua baris akan dimasukkan dalam sumber data iaitu hanya baris yang memenuhi syarat cantum akan dimasukkan.

Cantum luaran taksa

Jika anda mencipta pertanyaan yang mengandungi cantuman kiri dan CANTUM dalaman, Access mungkin tidak dapat menentukan yang menyertai operasi untuk dilakukan dahulu. Kerana hasil adalah berbeza bergantung pada sama ada cantum kiri atau cantuman dalaman dijalankan terlebih dahulu, Access memaparkan mesej ralat:

Untuk membetulkan ralat ini, anda mesti mengubah suai pertanyaan supaya ia jelas cantum untuk dilakukan dahulu.

Sintaks SQL untuk cantum Luaran

Cantum luaran ditentukan dalam SQL dalam klausa FROM, seperti yang ditunjukkan di bawah:

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

Operasi LEFT JOIN dan RIGHT JOIN mempunyai bahagian ini:

Bahagian

Perihalan

table1, table2

Nama jadual yang mana rekod digabungkan.

field1, field2

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

Bandingkan

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

Untuk maklumat lanjut tentang sintaks cantum Luaran, lihat topik Sertai kiri, kanan Sertai operasi.

Halaman atas

Menunjukkan semua baris daripada kedua-dua jadual dan menyertai mereka di mana nilai sepunya wujud

Apabila anda ingin menunjukkan semua baris daripada dua jadual dan menyertai mereka berdasarkan nilai yang biasa, anda menggunakan cantuman luaran penuh. Access tidak secara jelas menyokong cantuman luaran penuh, tetapi anda boleh mencapai kesan yang sama dengan menggunakan pertanyaan Kesatuan. Prosedur berikut menerangkan cara untuk melakukan ini, tetapi jika anda inginkan maklumat lanjut tentang pertanyaan Kesatuan, lihat seksyen Lihat juga .

Untuk menggunakan pertanyaan Kesatuan untuk melaksanakan cantuman luaran penuh:

  1. Cipta pertanyaan yang mempunyai cantuman luaran kiri pada medan yang anda ingin gunakan untuk cantuman luaran penuh.

  2. Pada tab Rumah, dalam kumpulan Pandangan, klik Pandangan kemudian klik Pandangan SQL.

  3. Tekan CTRL + C untuk menyalin kod SQL.

  4. Padamkan koma bernoktah di hujung Klausa FROM, dan kemudian tekan ENTER.

  5. Taipkan UNION, dan kemudian tekan ENTER.

    Nota: Jangan gunakan kata kunci ALL apabila anda menggunakan pertanyaan kesatuan untuk menjalankan cantuman luaran penuh.

  6. Tekan CTRL + V untuk menampal kod SQL yang anda salin dalam langkah 3.

  7. Dalam kod yang anda tampal, ubah LEFT JOIN kepada RIGHT JOIN.

  8. Padamkan koma bernoktah di hujung Klausa FROM, kemudian tekan ENTER kedua.

  9. Tambah klausa WHERE yang menentukan nilai daripada medan cantuman ialah NULL dalam medan pertama yang disenaraikan dalam klausa FROM (jadual kiri).

    Contohnya, jika klausa FROM ialah:

    FROM Products RIGHT JOIN [Order Details] 
    ON Products.ID = [Order Details].[Product ID]

    Anda akan menambah Klausa WHERE berikut:

    WHERE Products.ID IS NULL

  10. Taipkan koma bernoktah (;) di hujung klausa WHERE untuk menunjukkan hujung pertanyaan kesatuan.

  11. Pada tab Reka Bentuk dalam kumpulan Hasil, klik Jalankan.

Cantum bersilang

Cantum bersilang adalah berbeza daripada cantuman dalaman dan luaran bahawa mereka tidak diwakili secara eksplisit dalam Access. Cantum bersilang, setiap baris daripada satu jadual digabungkan dengan setiap baris daripada jadual lain, menghasilkan apa dipanggil produk silang atau produk Cartesian. Bila-bila masa anda menjalankan pertanyaan yang mempunyai jadual yang tidak secara jelas digabungkan, produk silang yang merupakan hasil. Cantum bersilang adalah biasanya tidak sengaja, tetapi terdapat situasi yang mana ia mungkin berguna.

Mengapakah saya harus menggunakan cantum bersilang?

Jika anda ingin memeriksa setiap gabungan yang mungkin baris antara dua Jadual atau pertanyaan, menggunakan cantum bersilang. Contohnya, katakan perniagaan anda telah tahun menakjubkan, dan anda mempertimbangkan memberikan rebat kepada pelanggan anda. Anda boleh membina pertanyaan yang menjumlahkan pelanggan setiap pembelian, mencipta satu jadual kecil yang mempunyai beberapa rebat mungkin peratusan dan menggabungkan dua dalam pertanyaan lain yang menjalankan cantum bersilang. Anda berakhir dengan pertanyaan yang memaparkan set hipotesis Rebat untuk setiap pelanggan.

Bagaimanakah saya menggunakan cantum bersilang?

Cantum bersilang dihasilkan bila-bila masa anda memasukkan Jadual atau pertanyaan dalam pertanyaan anda dan tidak mencipta penyertaan eksplisit sekurang-kurangnya satu untuk setiap Jadual atau pertanyaan. Capaian menggabungkan setiap baris daripada setiap Jadual atau pertanyaan yang tidak menyertai secara eksplisit Jadual atau pertanyaan untuk setiap baris lain dalam hasil. Pertimbangkan senario rebat daripada perenggan sebelumnya. Menganggap anda mempunyai 91 pelanggan, dan anda ingin melihat lima rebat mungkin peratusan. Cantum bersilang anda menghasilkan 455 baris (produk 91 dan 5).

Seperti yang anda mungkin bayangkan, cantum bersilang yang tidak sengaja boleh mencipta besar bilangan baris dalam hasil pertanyaan anda. Malahan, hasil ini ialah secara umumnya bererti, kerana jika anda sebenarnya tidak ingin gabungkan setiap baris dengan setiap baris yang lain, kebanyakan baris gabungan yang muncul dalam hasil akan tidak munasabah. Akhirnya, pertanyaan yang menggunakan cantum bersilang yang tidak sengaja boleh mengambil masa yang lama untuk menjalankan.

Cantuman bersilang secara tidak bersilang dalam pandangan Reka Bentuk pertanyaan
Silang yang tidak sengaja menyertai dalam pandangan Reka bentuk pertanyaan.

1. medan dibulatkan harus menyertai antara satu sama lain.

Cantuman produk yang tidak sengaja
Produk silang yang dikembalikan oleh cantum bersilang tidak sengaja yang digambarkan di atas.

1. Nota bilangan rekod yang sangat besar.

Hasil pertanyaan yang dibetulkan
Hasil selepas cantuman betul dicipta.

1. ambil perhatian bahawa bilangan rekod lebih kecil.

Halaman atas

Menyertai jadual berdasarkan pada ketidaksamaan nilai medan

Cantum tidak perlu berdasarkan pada kesamaan medan dicantum. Cantum boleh berdasarkan pada apa-apa operator perbandingan, seperti lebih besar daripada (>), kurang daripada (<) atau tidak sama dengan (<>). Cantum yang tidak berdasarkan pada kesamaan dipanggil cantum tidak sama.

Jika anda ingin menggabungkan baris daripada dua sumber data berdasarkan pada nilai medan yang tidak sama, anda boleh gunakan cantum tidak sama. Biasanya, cantum tidak sama berdasarkan pada operator perbandingan lebih besar daripada (>), kurang daripada (<), lebih besar daripada atau sama dengan (>=) atau kurang daripada atau sama dengan (<=). Cantum tidak sama yang berdasarkan pada operator tidak sama dengan (<>) boleh mengembalikan seberapa banyak baris yang sama banyak seperti cantum bersilang dan hasilnya sukar untuk ditafsirkan.

Bagaimanakah saya menggunakan cantum tidak sama?

Cantum tidak disokong dalam pandangan Reka bentuk. Jika anda ingin menggunakannya, anda mesti lakukan demikian menggunakan pandangan SQL. Walau bagaimanapun, anda boleh mencipta cantuman dalam pandangan Reka bentuk, bertukar kepada pandangan SQL, Cari yang sama dengan operator perbandingan (=) dan ubah untuk operator yang anda ingin gunakan. Selepas anda melakukan ini, anda boleh hanya membuka pertanyaan dalam pandangan Reka bentuk sekali lagi jika anda perubahan pertama operator perbandingan kembali kepada sama dengan (=) dalam pandangan SQL.

Memadamkan cantum

Jika Access mencipta secara automatik cantum yang anda tidak inginkan atau jika anda mencipta cantum secara tidak sengaja — contohnya, cantum antara dua medan yang mempunyai jenis data tidak sama — anda boleh padamkan cantum itu.

  1. Dalam grid reka bentuk pertanyaan, klik cantum yang anda ingin alih keluar.

  2. Tekan padam.

-atau-

  • Dalam grid Reka bentuk pertanyaan, klik kanan cantum yang anda ingin alih keluar, dan kemudian klik padam.

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.

Lihat Juga

Menambah rekod pada jadual menggunakan pertanyaan Tambah

Gabungkan hasil beberapa pertanyaan Pilih menggunakan pertanyaan Kesatuan

Mencipta pertanyaan berdasarkan berbilang Jadual

Mencipta, mengedit atau memadamkan perhubungan

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.

×