Menggabungkan tabel dan kueri

Menggabungkan tabel dan kueri

Saat Anda menyertakan beberapa sumber data dalam kueri Access, Anda menggunakan gabungan untuk membatasi rekaman yang ingin Anda lihat, berdasarkan cara sumber data saling terkait. Anda juga menggunakan gabungan untuk menggabungkan catatan dari kedua sumber data, sehingga setiap pasangan rekaman dari sumber menjadi satu catatan dalam hasil kueri.

Artikel ini membahas berbagai tipe gabungan dan memperlihatkan kepada Anda cara menggunakannya dalam kueri. Secara default, gabungan otomatis dibuat jika sudah ada hubungan antara dua sumber data yang Anda gunakan dalam kueri. Gabungan juga dibuat jika terdapat bidang yang jelas saling berkaitan. Anda dapat menghapus gabungan yang dibuat secara otomatis. Artikel ini menyediakan informasi dasar tentang hubungan tabel, termasuk cara membuatnya.

Catatan: Anda dapat bergabung dalam kueri dengan cara yang sama seperti Anda bergabung dalam tabel, dan juga bisa bergabung dengan keduanya.

Dalam artikel ini

Gambaran Umum

Database adalah kumpulan tabel data yang berhubungan Logis satu sama lain. Anda menggunakan hubungan untuk menyambungkan tabel menurut bidang yang sama. Tabel dapat berupa bagian dari jumlah hubungan apa pun, namun setiap hubungan selalu memiliki dua tabel. Dalam kueri, sebuah hubungan diwakili oleh gabungan.

Saat Anda menambahkan tabel ke kueri, Access membuat gabungan yang didasarkan pada hubungan yang telah ditetapkan antara tabel. Anda bisa secara manual membuat gabungan dalam kueri, bahkan jika mereka tidak mewakili hubungan yang telah ditentukan. Jika Anda menggunakan kueri lain (bukan atau Selain tabel) sebagai sumber data untuk kueri, Anda bisa membuat gabungan antara kueri sumber, dan juga antara kueri tersebut dan tabel apa pun yang Anda gunakan sebagai sumber data.

Gabungan berperilaku sama dengan kriteria kueri di mana mereka menetapkan aturan yang harus dicocokkan data untuk disertakan dalam operasi kueri. Tidak seperti kriteria, penggabungan juga menentukan bahwa setiap pasangan baris yang memenuhi syarat gabungan akan digabungkan dalam kumpulan data untuk membentuk satu baris.

Ada empat tipe dasar penggabungan: gabungan dalam, gabungan luar, penggabungan silang, dan gabungan tidak sama. Artikel ini membahas setiap tipe gabungan yang bisa Anda gunakan, mengapa Anda menggunakan setiap tipe, dan cara membuat gabungan.

Penggabungan adalah untuk menanyakan hubungan apa yang menjadi tabel: indikasi bagaimana data dalam dua sumber bisa dikombinasikan berdasarkan nilai data yang sama. Berikut adalah ilustrasi gabungan desain kueri dalam tampilan, dengan properti Join yang dibuka dalam kotak dialog:

Kotak Properti Gabungan.

Baris ini di antara tabel mewakili gabungan. Klik ganda gabungan untuk membuka kotak dialog properti gabungan (yang digambarkan) dan Tinjau atau Ubah gabungan.

Gabungan terkadang directional. Area kotak dialog ini memperlihatkan pada Anda tabel mana yang dalam gabungan, dan bidang mana yang digunakan untuk bergabung dalam tabel.

Area ini menentukan tipe gabungan: opsi 1 adalah gabungan dalam, 2 adalah gabungan luar kiri, dan 3 adalah gabungan luar kanan.

Bidang dari kedua tabel bisa digunakan, dan data yang berkaitan dengan tugas yang diberikan ditampilkan dari masing-masing. Dalam gabungan dalam, tidak ada data lain yang disertakan. Dalam gabungan luar, rekaman tidak terkait dari satu tabel juga disertakan dalam hasil kueri.

Atas Halaman

Tipe penggabungan

Ada empat tipe dasar penggabungan: gabungan dalam, gabungan luar, penggabungan silang, dan gabungan tidak sama. Gabungan silang dan gabungan yang tidak sama adalah tipe gabungan tingkat lanjut dan jarang digunakan, tetapi Anda harus tahu tentang mereka untuk memiliki pemahaman penuh tentang cara kerja gabungan.

Gabungan dalam: hanya data yang terkait dari kedua tabel yang digabungkan

Gabungan dalam adalah salah satu di mana Access hanya menyertakan data dari tabel jika ada data yang terkait dalam tabel terkait, dan sebaliknya. Biasanya, Anda akan menggunakan gabungan dalam. Saat Anda membuat gabungan dan tidak menentukan tipe gabungan apa itu, Access mengasumsikan Anda menginginkan gabungan dalam. Gabungan dalam berguna karena memungkinkan Anda mengombinasikan data dari dua sumber berdasarkan nilai yang dibagikan – sehingga Anda hanya melihat data saat ada gambar lengkap.

Gabungan luar: semua data terkait digabungkan dengan benar, ditambah semua rekaman yang tersisa dari satu tabel

Gabungan luar mirip dengan gabungan dalam, tetapi menambahkan baris yang tersisa dari salah satu tabel. Gabungan luar bersifat directional: gabungan luar kiri menyertakan semua rekaman dari tabel kiri – tabel pertama dalam gabungan – dan gabungan luar kanan mencakup semua catatan dari tabel yang tepat – tabel kedua dalam gabungan.

Gabungan luar penuh: semua data, digabungkan jika memungkinkan

Di beberapa sistem, gabungan luar dapat menyertakan semua baris dari kedua tabel, dengan baris yang digabungkan saat sesuai. Ini disebut gabungan luar penuh, dan Access tidak secara eksplisit mendukungnya. Namun, Anda bisa menggunakan gabungan silang dan kriteria untuk mendapatkan efek yang sama.

Gabungan silang: semua data, digabungkan setiap cara yang memungkinkan

Sebagian besar waktu, gabungan silang adalah efek samping untuk menambahkan dua tabel ke kueri lalu lupa bergabung. Access menginterpretasikan hal ini berarti Anda ingin melihat setiap catatan dari satu tabel yang dikombinasikan dengan setiap rekaman dari tabel lain – setiap kemungkinan kombinasi rekaman. Karena tidak ada data yang bisa dikombinasikan, gabungan ini jarang menghasilkan hasil yang berguna. Namun ada beberapa kasus ketika gabungan silang hanyalah apa yang Anda perlukan.

Gabungan tak sama: seperti gabungan reguler, tetapi menggunakan perbandingan berbeda untuk menggabungkan baris

Gabungan tidak sama menggunakan operator selain tanda sama dengan (=) untuk membandingkan nilai dan menentukan apakah dan cara menggabungkan data. Gabungan tidak sama tidak didukung secara eksplisit, tapi Anda bisa menggunakan gabungan silang dan kriteria untuk mendapatkan efek yang sama.

Memperlihatkan baris di mana nilai yang sama ada di kedua tabel yang digabungkan

Jika Anda hanya ingin memperlihatkan baris yang memiliki nilai yang cocok dalam bidang yang digabungkan, gunakan gabungan dalam. Access membuat gabungan dalam secara otomatis.

Gabungan dalam adalah jenis gabungan yang paling umum. Mereka memberi tahu kueri bahwa baris dari salah satu tabel yang digabungkan sesuai dengan baris di tabel lain, berdasarkan data dalam bidang yang digabungkan. Ketika kueri dengan gabungan dalam dijalankan, hanya baris di mana nilai yang sama ada di kedua tabel yang digabungkan akan disertakan dalam operasi kueri.

Bagaimana cara menggunakan gabungan dalam?

Biasanya, Anda tidak perlu melakukan apa pun untuk menggunakan gabungan dalam. Jika tabel yang Anda tambahkan ke kueri sudah memiliki hubungan, Access secara otomatis membuat gabungan antara setiap sepasang tabel terkait, saat Anda menambahkan tabel. Jika integritas referensial diterapkan, Access juga menampilkan “1” di atas garis gabungan untuk memperlihatkan tabel yang ada di sisi “satu” dari hubungan satu ke banyak dan simbol tak terhingga () untuk memperlihatkan tabel yang ada di sisi “banyak”.

Bahkan jika Anda belum membuat hubungan, Access secara otomatis membuat gabungan batin jika Anda menambahkan dua tabel ke kueri dan tabel tersebut masing-masing memiliki bidang dengan tipe data yang sama atau kompatibel dan salah satu bidang penggabungan adalah kunci utama. Simbol "satu" dan "banyak" tidak ditampilkan dalam kasus ini, karena integritas referensial tidak diberlakukan.

Jika Anda menambahkan kueri ke kueri Anda, dan belum membuat hubungan antara kueri tersebut, Access tidak secara otomatis membuat gabungan dalam antara kueri tersebut atau antara kueri dan tabel. Secara umum, Anda harus membuatnya sendiri. Anda membuat gabungan dalam dengan menyeret bidang dari satu sumber data ke bidang di sumber data lain. Access menampilkan garis di antara dua bidang untuk memperlihatkan gabungan telah dibuat.

Sintaks SQL untuk gabungan dalam

Gabungan dalam ditentukan dalam SQL di klausa FROM, seperti yang diperlihatkan di bawah ini:

FROM tabel1 INNER JOIN tabel2 ON tabel1.bidang1 membandingkan tabel2.bidang2

Operasi INNER JOIN memiliki bagian ini;

Bagian

Deskripsi

table1, table2

Nama tabel yang merupakan asal rekaman yang digabungkan.

field1, field2

Nama bidang yang digabungkan. Jika bukan numerik, bidang harus berupa tipe data yang sama dan berisi jenis data yang sama, tetapi tidak harus memiliki nama yang sama.

bandingkan

Operator perbandingan relasional apa pun: "=," "<," ">," "<=," ">=," or "<>."

Untuk informasi selengkapnya tentang sintaks gabungan dalam, lihat topik operasi Inner Join.

Atas Halaman

Memperlihatkan semua baris dari satu tabel, dan baris terkait dari tabel lainnya

Gabungan luar memberi tahu kueri bahwa meskipun beberapa baris di kedua sisi gabungan sama persis, kueri harus menyertakan semua baris dari satu tabel, dan juga baris dari tabel lain yang berbagi nilai umum pada kedua sisi gabungan.

Gabungan luar bisa dibiarkan gabungan luar atau dapat gabungan luar kanan. Dalam gabungan luar kiri, kueri menyertakan semua baris dari tabel pertama dalam klausul pernyataan SQL, dan hanya baris dari tabel lain tempat bidang penggabungan berisi nilai yang umum untuk kedua tabel. Dalam gabungan luar kanan, kueri menyertakan semua baris dari tabel kedua dalam klausul pernyataan SQL, dan hanya baris dari tabel lain tempat bidang penggabungan berisi nilai yang umum untuk kedua tabel.

Catatan: Anda dapat dengan mudah mengetahui tabel mana yang merupakan tabel kiri atau tabel kanan dalam gabungan yang diberikan dengan mengklik ganda gabungan lalu melihat kotak dialog properti gabungan . Anda juga dapat beralih ke tampilan SQL, lalu memeriksa klausa FROM.

Karena beberapa baris di satu sisi gabungan luar tidak akan memiliki baris yang sesuai dari tabel lain, beberapa bidang yang dikembalikan dalam hasil kueri dari tabel lain akan kosong ketika baris tidak sesuai.

Bagaimana cara menggunakan gabungan luar?

Anda membuat gabungan luar dengan memodifikasi gabungan dalam yang sudah ada. Jika tidak ada gabungan dalam, Anda membuatnya, lalu mengubahnya menjadi gabungan luar.

Mengubah gabungan dalam menjadi gabungan luar

  1. Dalam tampilan desain kueri, klik ganda gabungan yang ingin Anda ubah.

    Kotak dialog Properti Gabungan muncul.

  2. Dalam kotak dialog properti gabungan , perhatikan pilihan yang dicantumkan di samping opsi 2 dan opsi 3.

  3. Klik opsi yang ingin Anda gunakan, lalu klik OK.

  4. Access menampilkan gabungan dan memperlihatkan panah yang mengarahkan dari sumber data tempat semua baris akan disertakan ke sumber data di mana hanya baris yang memenuhi syarat gabungan yang akan disertakan.

Gabungan luar yang ambigu

Jika Anda membuat kueri yang berisi gabungan kiri dan gabungan dalam, Access mungkin tidak dapat menentukan operasi gabungan yang akan dilakukan terlebih dahulu. Karena hasilnya berbeda tergantung pada apakah gabungan kiri atau gabungan dalam dilakukan terlebih dahulu, Access menampilkan pesan kesalahan:

Untuk memperbaiki kesalahan ini, Anda harus mengubah kueri sehingga yang jelas bergabung untuk dilakukan terlebih dahulu.

Sintaks SQL untuk gabungan luar

Gabungan luar ditentukan dalam SQL di klausa FROM, seperti yang diperlihatkan di bawah ini:

DARI tabel1 [Left | KANAN] Gabung tabel2
di tabel1. bidang1 Bandingkan tabel2. bidang2

Operasi LEFT JOIN dan RIGHT JOIN memiliki bagian ini:

Bagian

Deskripsi

table1, table2

Nama tabel yang merupakan asal rekaman yang digabungkan.

field1, field2

Nama bidang yang digabungkan. Bidang tersebut harus berupa tipe data yang sama dan berisi jenis data yang sama, tetapi bidang tersebut tidak harus memiliki nama yang sama.

bandingkan

Operator perbandingan relasional apa pun: "=," "<," ">," "<=," ">=," or "<>."

Untuk informasi selengkapnya tentang sintaks gabungan luar, lihat topik Left Join, right Join Operations.

Atas Halaman

Memperlihatkan semua baris dari kedua tabel, dan menggabungkannya dengan nilai yang sama

Saat Anda ingin memperlihatkan semua baris dari dua tabel dan menggabungkannya berdasarkan nilai umum, Anda menggunakan gabungan luar penuh. Access tidak mendukung gabungan luar secara eksplisit penuh, tetapi Anda bisa mendapatkan efek yang sama dengan menggunakan kueri gabungan. Prosedur berikut ini menjelaskan cara melakukannya, tapi jika Anda ingin informasi selengkapnya tentang kueri gabungan, lihat bagian Lihat juga .

Untuk menggunakan kueri gabungan untuk melakukan gabungan luar penuh:

  1. Membuat kueri yang memiliki gabungan luar kiri pada bidang yang ingin Anda gunakan untuk gabungan luar penuh.

  2. Pada tab Beranda, di dalam grup Tampilan, klik Tampilan, lalu klik Tampilan SQL.

  3. Tekan CTRL + C untuk menyalin kode SQL.

  4. Hapus tanda titik koma di akhir klausa FROM, lalu tekan ENTER.

  5. Ketik UNION, lalu tekan ENTER.

    Catatan: Jangan gunakan kata kunci semua saat Anda menggunakan kueri gabungan untuk melakukan gabungan luar penuh.

  6. Tekan CTRL + V untuk menempelkan kode SQL yang Anda salin di langkah 3.

  7. Dalam kode yang Anda tempelkan, Ubah Left Join menjadi Right Join.

  8. Hapus tanda titik koma di akhir klausa dari kedua, lalu tekan ENTER.

  9. Tambahkan klausul WHERE yang menentukan bahwa nilai bidang Join adalah NULL di tabel pertama yang tercantum di klausa FROM (tabel kiri).

    Misalnya, jika klausa FROM adalah:

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

    Anda akan menambahkan klausul WHERE berikut ini:

    WHERE Products.ID IS NULL

  10. Ketikkan tanda titik koma (;) di akhir klausul WHERE untuk menunjukkan akhir kueri gabungan.

  11. Pada tab Desain, dalam grup Hasil, klik Jalankan.

Gabungan silang

Gabungan silang berbeda dari gabungan dalam dan luar dalam hal ini tidak diperlihatkan secara eksplisit di Access. Dalam gabungan silang, setiap baris dari satu tabel dikombinasikan dengan setiap baris dari tabel lain, menghasilkan apa yang disebut produk sampingan atau produk Kartesian. Setiap kali Anda menjalankan kueri yang memiliki tabel yang tidak digabungkan secara eksplisit, sebuah produk silang adalah hasilnya. Gabungan silang biasanya tidak disengaja, tapi ada kasus di mana mereka bisa berguna.

Mengapa saya harus menggunakan gabungan silang?

Jika Anda ingin memeriksa setiap kemungkinan kombinasi baris di antara dua tabel atau kueri, gunakan gabungan silang. Misalnya, bisnis Anda telah memiliki tahun yang spektakuler, dan Anda mempertimbangkan untuk memberikan Rabat ke pelanggan Anda. Anda bisa menyusun kueri yang menjumlahkan pembelian setiap pelanggan, membuat tabel kecil yang memiliki beberapa kemungkinan persentase rebate, dan menggabungkannya dalam kueri lain yang melakukan gabungan silang. Anda berakhir dengan kueri yang menampilkan sekumpulan Rabat hipotetis untuk setiap pelanggan.

Bagaimana cara menggunakan gabungan silang?

Gabungan silang dihasilkan setiap kali Anda menyertakan tabel atau kueri dalam kueri Anda dan tidak membuat setidaknya satu gabungan eksplisit untuk setiap tabel atau kueri. Access menggabungkan setiap baris dari setiap tabel atau kueri yang tidak digabungkan secara eksplisit ke tabel atau kueri lainnya ke setiap baris lainnya dalam hasil. Pertimbangkan skenario Rebate dari paragraf sebelumnya. Asumsikan Anda memiliki 91 pelanggan, dan Anda ingin melihat lima kemungkinan persentase Rabat. Gabungan silang Anda menghasilkan baris 455 (produk 91 dan 5).

Seperti yang Anda bayangkan, penggabungan silang yang tidak disengaja bisa membuat sejumlah besar baris dalam hasil kueri Anda. Selain itu, hasil ini biasanya tidak bermakna, karena jika Anda tidak benar-benar bermaksud untuk menggabungkan setiap baris dengan setiap baris lainnya, sebagian besar baris gabungan yang muncul di hasil tidak akan masuk akal. Akhirnya, kueri yang menggunakan gabungan silang yang tidak disengaja dapat memakan waktu yang sangat lama untuk dijalankan.

gabungan silang tak sengaja dalam tampilan Desain kueri

1. bidang yang dilingkari harus digabungkan satu sama lain.

Produk silang yang tidak disengaja

1. Perhatikan jumlah catatan yang sangat besar.

Hasil kueri yang diperbaiki

1. Perhatikan bahwa jumlah rekaman jauh lebih kecil.

Atas Halaman

Menggabungkan tabel berdasarkan ketidaksetaraan dari nilai bidang

Penggabungan tidak harus didasarkan pada kesetaraan bidang yang digabungkan. Gabungan dapat didasarkan pada operator perbandingan apa pun, seperti lebih besar dari (>), kurang dari (<), atau tidak sama dengan (<>). Gabungan yang tidak didasarkan pada ekuivalen disebut gabungan tidak sama.

Jika Anda ingin menggabungkan baris dua sumber data berdasarkan nilai bidang yang tidak sama, gunakan gabungan yang tidak sama. Biasanya, gabungan tidak sama didasarkan pada operator perbandingan lebih besar dari (>), kurang dari (<), lebih besar dari atau sama dengan (>=), atau kurang dari atau sama dengan (<=). Gabungan tidak sama yang didasarkan pada operator tidak sama dengan (<>) tidak sama dapat mengembalikan baris sebanyak gabungan silang, dan hasilnya bisa sulit untuk diinterpretasikan.

Bagaimana cara menggunakan gabungan yang tidak sama?

Gabungan tidak sama tidak didukung dalam tampilan desain. Jika Anda ingin menggunakannya, Anda harus melakukannya dengan menggunakan tampilan SQL. Namun, Anda bisa membuat gabungan Tampilan Desain, beralih ke tampilan SQL, menemukan operator perbandingan Equal (=), dan mengubahnya ke operator yang ingin Anda gunakan. Setelah Anda melakukan ini, Anda hanya bisa membuka kueri dalam tampilan desain lagi jika Anda terlebih dahulu mengubah operator perbandingan kembali ke Equal (=) dalam tampilan SQL.

Menghapus gabungan

Jika Access secara otomatis membuat gabungan yang tidak Anda inginkan, atau jika Anda membuat gabungan berdasarkan kesalahan — misalnya, gabungan antara dua bidang yang memiliki tipe data yang berbeda — Anda bisa menghapus penggabungan.

  1. Di kisi desain kueri, klik gabungan yang ingin Anda hapus.

  2. Tekan Delete.

-atau-

  • Dalam kisi desain kueri, klik kanan gabungan yang ingin Anda hapus, lalu klik Hapus.

Atas Halaman

Catatan:  Halaman ini diterjemahkan menggunakan mesin dan mungkin terdapat kesalahan tata bahasa atau masalah keakuratan. Kami bertujuan menyediakan konten yang bermanfaat untuk Anda. Dapatkah Anda memberi tahu kami apakah informasi ini bermanfaat untuk Anda? Berikut adalah artikel dalam bahasa Inggris untuk referensi.

Lihat Juga

Menambahkan rekaman ke tabel menggunakan kueri penambahan

menggabungkan hasil dari beberapa kueri pemilihan dengan menggunakan kueri gabungan

membuat kueri berdasarkan beberapa tabel

membuat, mengedit atau menghapus hubungan

Perlu bantuan lainnya?

Kembangkan keterampilan Office Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×