Bergabung dalam tabel dan kueri

Bergabung dalam tabel dan kueri

Penting: Artikel ini adalah terjemahan mesin, lihat penafian. Temukan versi bahasa Inggris artikel di sini sebagai rujukan Anda.

Saat Anda menyertakan beberapa sumber data dalam kueri Access, Anda menggunakan gabungan untuk membatasi rekaman yang ingin Anda lihat, berdasarkan pada bagaimana sumber data yang saling berhubungan. Anda juga menggunakan gabungan untuk menggabungkan rekaman dari kedua sumber data, sehingga masing-masing pasangan rekaman dari sumber menjadi satu rekaman dalam hasil kueri.

Artikel ini membahas berbagai tipe gabungan dan memperlihatkan kepada Anda cara menggunakannya dalam kueri. Secara default, gabungan secara otomatis dibuat jika telah ada hubungan antara dua sumber data yang Anda gunakan dalam kueri. Gabungan juga dibuat jika terdapat bidang yang jelas sesuai dengan satu sama lain. Anda bisa menghapus bergabung secara otomatis dibuat. Artikel ini menyediakan informasi dasar tentang hubungan tabel, termasuk cara membuatnya.

Catatan: Anda bisa ikut kueri dengan cara yang sama yang Anda gabungkan tabel-tabel, dan juga bisa bergabung keduanya.

Dalam artikel ini

Gambaran Umum

Tipe gabungan

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

Memperlihatkan semua baris dari satu tabel, dan baris yang berkaitan dari tabel lain

Memperlihatkan semua baris dari kedua tabel, dan bergabung dengan mereka di mana nilai yang sama ada

Gabungan silang

Gabungkan tabel-tabel berdasarkan ketidaksamaan nilai-nilai bidang

Menghapus gabungan

Gambaran umum

Database adalah kumpulan tabel data yang menghasilkan logika hubungan satu sama lain. Anda menggunakan hubungan menyambungkan tabel dengan bidang yang mereka memiliki kesamaan. Tabel bisa menjadi bagian dari sejumlah hubungan, tetapi setiap relasi selalu persis dua tabel. Di dalam kueri, 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 ditetapkan. Jika Anda menggunakan kueri lain (daripada atau Selain tabel) sebagai sumber data untuk kueri, Anda bisa membuat gabungan antara kueri sumber, dan juga antara kueri tersebut dan semua tabel yang Anda gunakan sebagai sumber data.

Gabungan berperilaku sama untuk kriteria kueri bahwa mereka membuat aturan yang data harus cocok dengan akan disertakan dalam operasi kueri. Tidak seperti kriteria, gabungan juga menentukan bahwa tiap pasangan baris yang memenuhi kondisi gabungan akan digabungkan di set rekaman untuk membentuk baris tunggal.

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

Kaitan gabungan dengan kueri sama dengan hubungan dengan tabel: indikasi cara data dalam dua sumber bisa digabungkan berdasarkan nilai data yang sama-sama dimiliki. Berikut ilustrasi gabungan dalam Tampilan Desain kueri, dengan properti gabungan dibuka dalam kotak dialog:

Kotak Properti Gabungan.

Ini garis di antara tabel menunjukkan gabungan. Klik ganda gabungan untuk membuka (digambarkan) kotak dialog Properti gabungan dan meninjau atau mengubah gabungan.

Gabungan terkadang memiliki arah. Area kotak dialog memperlihatkan pada Anda letak tabel dalam gabungan, dan bidang yang digunakan untuk menggabungkan 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 ada ditampilkan dari tiap tabel. Di gabungan dalam, tidak ada data lain yang disertakan. Di gabungan luar, rekaman yang tidak berkaitan dari satu tabel juga disertakan dalam hasil kueri.

Atas halaman

Tipe gabungan

Ada empat tipe dasar gabungan: gabungan dalam, gabungan luar, gabungan silang, dan gabungan tak sama. Gabungan silang dan gabungan tak sama adalah tipe gabungan tingkat lanjut dan jarang digunakan, tetapi Anda sebaiknya mengetahuinya agar memahami sepenuhnya cara kerja gabungan.

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

Gabungan dalam adalah gabungan di mana Access hanya menyertakan data dari tabel jika terdapat data yang bersesuaian dalam tabel yang berkaitan, dan sebaliknya. Biasanya, Anda akan menggunakan gabungan dalam. Saat Anda membuat gabungan dan tidak menentukan jenis gabungannya, Access berasumsi Anda menginginkan gabungan dalam. Gabungan dalam berguna karena memungkinkan Anda menggabungkan data dari dua sumber berdasarkan nilai yang sama - jadi Anda hanya melihat data saat semua sudah lengkap.

Gabungan luar: semua data yang berkaitan digabungkan dengan benar, ditambah semua rekaman lainnya dari satu tabel

Gabungan luar seperti gabungan dalam, tetapi menambahkan baris sisanya dari salah satu tabel. Gabungan luar berarah: gabungan luar kiri menyertakan semua rekaman dari tabel kiri – tabel pertama dalam gabungan – dan gabungan luar kanan menyertakan semua rekaman dari tabel kanan – tabel kedua dalam gabungan.

Gabungan luar penuh: semua data, digabungkan jika memungkinkan

Dalam beberapa sistem, gabungan luar bisa menyertakan semua baris dari kedua tabel, dengan baris digabungkan jika terdapat kecocokan. Ini disebut gabungan luar penuh, dan Access tidak mendukungnya secara eksplisit. Namun, Anda bisa menggunakan gabungan silang dan kriteria untuk mendapatkan hasil serupa.

Gabungan silang: semua data, digabungkan dengan tiap cara yang mungkin

Biasanya, gabungan silang adalah efek samping dari menambahkan dua tabel ke kueri lalu lupa menggabungkannya. Access menafsirkan bahwa Anda ingin melihat tiap rekaman dari satu tabel yang digabungkan dengan tiap rekaman dari tabel lainnya –tiap kombinasi rekaman yang mungkin. Karena tidak ada yang bisa digabungkan, jenis gabungan ini jarang memberikan hasil yang berguna. Namun ada sedikit kasus di mana gabungan silang memang yang Anda butuhkan.

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

Gabungan tak sama menggunakan operator selain tanda sama dengan (=) untuk membandingkan nilai dan menentukan apakah data layak digabungkan dan cara menggabungkannya. Gabungan tak sama memang tidak didukung secara eksplisit, tetapi 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 ingin memperlihatkan hanya barisan yang memiliki nilai yang cocok dalam bidang yang digabungkan, Anda menggunakan gabungan dalam. Access membuat gabungan dalam secara otomatis.

Gabungan yang paling umum tipe gabungan. Mereka memberitahu kueri tersebut baris dari salah satu gabungan tabel berkaitan dengan baris dalam tabel lain, berdasarkan data dalam bidang yang digabungkan. Saat menjalankan kueri dengan gabungan dalam, hanya baris tersebut mana nilai yang sama ada di kedua tabel yang digabungkan akan disertakan dalam operasi kueri.

Bagaimana saya 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 otomatis membuat gabungan dalam antar tiap pasang tabel terkait, saat Anda menambahkan tabel. Jika integritas referensial diberlakukan, Access juga menampilkan "1" di atas garis gabungan untuk memperlihatkan tabel yang ada di sisi "satu" dari hubungan satu ke banyak dan tanda tak hingga () untuk memperlihatkan tabel yang ada di sisi "banyak".

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

Jika Anda menambahkan kueri ke kueri Anda, dan tidak membuat hubungan antara kueri tersebut, Access tidak secara otomatis membuat gabungan antara kueri tersebut atau di antara kueri dan tabel. Biasanya, Anda harus membuat mereka sendiri. Anda membuat gabungan dengan menyeret bidang dari satu sumber data untuk bidang di sumber data lainnya. 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:

Ada dari table1 INNER JOIN table2 ON table1. membandingkan bidang1 table2. field2

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, Baca topik operasi INNER JOIN.

Atas halaman

Memperlihatkan semua baris dari satu tabel, dan baris yang berkaitan dari tabel lain

Gabungan luar mengetahui kueri yang meskipun beberapa baris di kedua sisi gabungan sesuai persis, kueri akan menyertakan semua baris dari satu tabel, dan juga tersebut baris dari tabel lain yang berbagi nilai yang sama di kedua sisi gabungan.

Gabungan luar bisa berupa gabungan luar kiri atau bisa berupa gabungan luar kanan. Dalam gabungan luar kiri, kueri menyertakan semua baris dari tabel pertama dalam klausa FROM pernyataan SQL, dan hanya baris-baris dari tabel lainnya di mana bidang gabungan berisi nilai yang sama di kedua tabel. Dalam gabungan luar kanan, kueri menyertakan semua baris dari tabel kedua dalam klausa FROM pernyataan SQL, dan hanya baris-baris dari tabel lainnya di mana bidang gabungan berisi nilai yang sama di kedua tabel.

Catatan: Anda bisa dengan mudah mengetahui tabel mana adalah tabel kiri atau kanan tabel di gabungan tertentu dengan mengklik ganda gabungan dan lalu lihat dalam kotak dialog Properti gabungan . Anda bisa juga beralih ke tampilan SQL, dan kemudian memeriksa klausa FROM.

Karena beberapa baris di satu sisi gabungan luar tidak akan memiliki baris yang bersesuaian dari tabel lainnya, beberapa bidang yang dikembalikan dalam hasil kueri dari tabel lain tersebut akan kosong jika baris tidak bersesuaian.

Bagaimana saya menggunakan gabungan luar?

Anda membuat gabungan luar dengan memodifikasi gabungan dalam yang sudah ada. Jika tidak ada gabungan dalam, Anda bisa 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 selain opsi 2 dan opsi 3.

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

  4. Access menampilkan gabungan dan memperlihatkan panah yang mengarah dari sumber data yang akan menyertakan semua baris ke sumber data yang hanya menyertakan baris-baris yang memenuhi kondisi gabungan.

Gabungan luar yang ambigu

Jika Anda membuat kueri yang berisi LEFT JOIN dan gabungan dalam, Access mungkin tidak bisa menentukan bergabung operasi dijalankan terlebih dahulu. Karena hasil berbeda bergantung pada apakah gabungan kiri atau gabungan yang dilakukan terlebih dahulu, Access menampilkan pesan kesalahan:

Untuk memperbaiki kesalahan ini, Anda harus mengubah kueri sehingga gabungan yang dijalankan terlebih dahulu.

Sintaks SQL untuk gabungan luar

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

Ada dari table1 [kiri | GABUNGAN kanan] table2
pada table1.field1 membandingkan table2.field2

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 operasi.

Atas halaman

Memperlihatkan semua baris dari kedua tabel, dan bergabung dengan mereka di mana nilai yang sama ada

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

Untuk menggunakan kueri gabungan untuk melakukan Penggabung luar penuh:

  1. Buat kueri yang memiliki penggabung luar kiri pada bidang yang ingin Anda gunakan untuk penggabung 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, dan tekan ENTER.

  5. Ketik UNION, lalu tekan ENTER.

    Catatan: Jangan menggunakan kata kunci ALL saat Anda menggunakan kueri gabungan untuk melakukan penggabung luar penuh.

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

  7. Di kode yang Anda tempelkan, ubah LEFT JOIN menjadi RIGHT JOIN.

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

  9. Tambahkan klausa WHERE yang menentukan nilai bidang gabungan yaitu NULL di dalam tabel pertama yang tercantum di dalam klausa FROM (tabel sebelah kiri).

    Misalnya, jika klausa FROM adalah:

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

    Anda akan menambahkan klausa WHERE berikut ini:

    WHERE Products.ID IS NULL

  10. Ketikkan tanda titik koma (;) di akhir klausa WHERE untuk mengindikasikan akhir kueri gabungan.

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

Gabungan silang

Gabungan silang berbeda dari bergabung dalam dan luar bahwa mereka tidak secara eksplisit dinyatakan dalam Access. Di gabungan silang, masing-masing baris dari satu tabel digabungkan dengan setiap baris dari tabel lain, yang mengakibatkan apa yang disebut produk silang atau produk Cartesian. Setiap kali Anda menjalankan kueri yang memiliki tabel yang tidak secara eksplisit bergabung, produk silang hasilnya. Gabungan silang biasanya tidak disengaja, tapi ada kasus di mana mereka bisa berguna.

Kenapa saya harus menggunakan gabungan silang?

Jika Anda ingin memeriksa setiap kemungkinan kombinasi baris antara dua tabel atau kueri, menggunakan gabungan silang. Misalnya, bisnis Anda memiliki spektakuler tahun, dan Anda mempertimbangkan untuk memberikan potongan harga ke pelanggan Anda. Anda bisa menyusun kueri yang menjumlahkan masing-masing pelanggan pembelian, membuat tabel kecil yang memiliki beberapa kemungkinan potongan harga persentase, dan menggabungkan dua dalam kueri yang lain yang menjalankan gabungan silang. Anda akan menggunakan kueri yang menampilkan sekumpulan potongan harga hipotetis untuk masing-masing pelanggan.

Bagaimana saya menggunakan gabungan silang?

Gabungan silang yang dihasilkan saja Anda menyertakan tabel atau kueri di kueri Anda dan membuat gabungan eksplisit setidaknya satu untuk setiap tabel atau kueri. Akses menggabungkan setiap baris dari setiap tabel atau kueri yang tidak secara eksplisit bergabung tabel atau kueri untuk setiap baris dalam hasil. Pertimbangkan skenario potongan harga dari paragraf sebelumnya. Berasumsi Anda memiliki 91 pelanggan, dan Anda ingin melihat lima potongan harga kemungkinan persentase. Gabungan silang Anda menghasilkan 455 baris (produk 91 dan 5).

Seperti yang Anda bayangkan, gabungan silang yang tidak disengaja bisa membuat besar jumlah baris dalam hasil kueri Anda. Selain itu, hasil ini biasanya berarti, karena jika Anda tidak benar-benar untuk menggabungkan setiap baris dengan setiap baris, sebagian besar baris gabungan yang muncul di hasil akan tidak masuk akal. Akhirnya, kueri yang menggunakan gabungan silang yang tidak disengaja bisa membutuhkan waktu sangat lama untuk menjalankan.

gabungan silang tak sengaja dalam tampilan Desain kueri
Silang yang tidak disengaja bergabung dalam tampilan desain kueri.

1. bidang dilingkari harus bergabung satu sama lain.

Produk silang yang tidak disengaja
Produk silang yang dihasilkan oleh gabungan silang tidak disengaja yang dijelaskan di atas.

1. Catatan sangat besar jumlah catatan.

Hasil kueri yang diperbaiki
Hasil setelah dibuat gabungan yang benar.

1. Perhatikan bahwa jumlah rekaman lebih kecil.

Atas halaman

Gabungkan tabel-tabel berdasarkan ketidaksamaan nilai-nilai bidang

Gabungan tidak harus didasarkan pada ekuivalensi dari bidang yang digabungkan. Gabungan bisa berdasarkan operator perbandingan apa pun, seperti lebih besar dari (>), kurang dari (<), atau tidak sama (<>). Gabungan yang tidak berdasarkan ekuivalensi disebut gabungan tak sama.

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

Bagaimana saya menggunakan gabungan tak sama?

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

Menghapus gabungan

Jika Access otomatis membuat gabungan yang tidak Anda inginkan, atau jika Anda tidak sengaja membuat gabungan — misalnya, gabungan antara dua bidang yang memiliki tipe data yang tak sama — Anda bisa menghapus gabungan tersebut.

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

  2. Tekan Hapus.

-atau-

  • Di kisi desain kueri, klik kanan gabungan yang ingin Anda hapus, dan kemudian klik Hapus.

Atas halaman

Catatan: Penafian Terjemahan Mesin: Artikel ini telah diterjemahan oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan terjemahan mesin ini untuk membantu pengguna yang bukan penutur bahasa Inggris agar dapat menikmati konten tentang produk, layanan, dan teknologi Microsoft. Karena artikel ini diterjemahkan oleh mesin, mungkin akan terdapat kesalahan kosa kata, sintaksis, atau tata bahasa.

Lihat Juga

Menambahkan rekaman ke tabel dengan menggunakan kueri penambahan

Menggabungkan hasil dari beberapa kueri pemilihan dengan menggunakan kueri gabungan

Membuat kueri berdasarkan pada beberapa tabel

Membuat, mengedit atau menghapus hubungan

Kembangkan keterampilan 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.

×