Menggabungkan data sumber tabel ketika menggunakan semua jenis klausul FROM.
Sintaks
FROM tabel1 [ LEFT | RIGHT ] JOIN tabel2
ON tabel1.bidang1oppembanding tabel2.bidang2Operasi 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. |
compopr |
Operator perbandingan relasional apa pun: "=," "<," ">," "<=," ">=," or "<>." |
Keterangan
Menggunakan operasi LEFT JOIN untuk menghasilkan gabungan kiri luar. Gabungan kiri luar menyertakan semua data dari dua tabel pertama (kiri), walau jika terdapat tidak ada nilai yang mirip di data tabel kedua (kanan).
Menggunakan operasi RIGHT JOIN untuk menghasilkan gabungan kanan luar. Gabungan kanan luar menyertakan semua data kedua dari dua tabel (kanan), walau jika tidak ada nilai mirip untuk data pada tabel pertama (kiri).
Misalnya, Anda dapat menggunakan LEFT JOIN dengan tabel Departemen (kiri) dan Karyawan (kanan) untuk memilih semua departemen, termasuk yang tidak memiliki karyawan yang ditugaskan. Untuk memilih semua karyawan, termasuk yang tidak ditugaskan ke departemen, Anda dapat menggunakan RIGHT JOIN.
Contoh berikut menampilkan cara Anda menggabungkan tabel Kategori dan Produk pada bidang CategoryID. Kueri menghasilkan semua daftar kategori, termasuk yang tidak berisikan produk.
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
Dalam contoh ini, CategoryID merupakan bidang yang tergabung, tetapi tidak termasuk dalam hasil kueri karena tidak termasuk dalam pernyataan SELECT. Untuk menyertakan bidang gabungan, masukkan nama bidang pada pernyataan SELECT, dalam hal ini, Categories.CategoryID.
Untuk membuat kueri yang hanya menyertakan data pada data di bidang gabungan yang sama, gunakan operasi INNER JOIN.
-
LEFT JOIN atau RIGHT JOIN dapat menumpuk di dalam INNER JOIN, tetapi INNER JOIN tidak bertumpuk dalam LEFT JOIN atau RIGHT JOIN. Lihat diskusi mengenai tumpukan dalam topik INNER JOIN untuk melihat cara menumpuk gabungan di dalam gabungan lain.
-
Anda dapat menautkan beberapa klausul ON. Lihat diskusi tentang penautan klausul dalam topik INNER JOIN untuk melihat caranya.
Jika Anda mencoba menggabungkan bidang berisi Memo atau data Objek OLE, dapat terjadi kesalahan.