Jika Anda telah memahami fungsi join pada database relasional untuk menghubungkan berbagai table, maka artikel berikut akan menjelaskan dan menunjukkan contoh penggunaan variasi join pada MySQL versi 5.0. JOIN sendiri merupakan konstruksi bahasa yang tidak bisa berdiri sendiri, biasanya berupa klausa pada bagian referensi table pada SELECT, UPDATE atau DELETE statement. Show Tipe-tipe JOIN yang akan dibahas adalah :
Tiga table yang akan kita gunakan dari database tersebut adalah ms_cabang, ms_kota dan ms_propinsi dengan relasi terlihat seperti pada gambar berikut. Keterangan : Relasi antar table ms_cabang, ms_kota dan ms_propinsi INNER JOININNER JOIN adalah tipe join yang akan kita bahas pertama. Tipe join ini akan mengambil semua row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan jika tidak maka row tersebut tidak akan muncul. Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan. Syntax dari INNER JOIN adalah sebagai berikut :
INNER JOIN Antar Table dengan Kondisi ("ms_cabang" dan "ms_kota" dengan key "kode_kota")
Hasil terlihat seperti gambar berikut ini. Disini table sumber adalah ms_cabang (left) mencari referensi row lain dari table ms_kota (right) dengan kondisi nilai kode_kota diantara kedua table tersebut sama. Kondisi ini menggunakan keyword ON. Dengan panduan gambar, kita lihat bahwa tiap row dari ms_cabang akan dicari padanan row-nya di ms_kota :
Sekarang mari kita coba hapus referensi untuk "Lhokseumawe" dari table ms_kota :
Setelah itu coba jalankan kembali perintah JOIN di atas, Anda akan mendapatkan hasil JOIN tanpa referensi row "Lhokseumawe". Jadi INNER JOIN dengan kondisi mengharuskan row dari tiap table memiliki nilai yang sama untuk column referensinya (dalam hal ini kode_kota). Kembalikan lagi row referensi yang kita hapus tadi dengan perintah INSERT berikut ini :
INNER JOIN Antar Table Tanpa Kondisi ("ms_cabang" dengan "ms_kota")
Hasilnya adalah untuk tiap row dari ms_cabang akan dikombinasikan dengan semua row dari ms_kota - contoh hasilnya terlihat seperti pada gambar di bawah ini.
Hasil eksekusi terlihat seperti gambar berikut. Dengan penggabungan ketiga table ini sekarang kita dapatkan setiap cabang memiliki informasi nama kota dan nama propinsi dimana cabang tersebut berada. Implisit INNER JOIN dengan KomaINNER JOIN antar table secara implisit dapat menggunakan daftar table yang dipisah dengan tanda koma (,). Pengkondisian menggunakan klausa where.
CROSS JOINCROSS JOIN identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER JOIN sehingga tidak diulangi lagi disini.
OUTER JOINOUTER JOIN merupakan tipe join yang mencari referensi data dari suatu table sumber ke table lain dengan tidak menghilangkan data sumber apabila referensi tidak diketemukan. Untuk menggunakan tipe OUTER JOIN maka perlu memperhatikan beberapa hal berikut :
STRAIGHT_JOINSTRAIGHT_JOIN merupakan pengganti keyword JOIN pada MySQL yang digunakan untuk "memaksa" proses join table dari kiri (LEFT) ke kanan (RIGHT).
Mungkin Anda tertarik mengambil kursus data science online dari Universitas Multimedia Nusantara (group Kompas Gramedia)? Apa fungsi dari Join?Menggabungkan elemen dari array satu atau beberapa dimensi menggunakan pembatas yang ditentukan.
Apa itu Join di MySQL?Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap. Lengkap disini artinya kolom data didapatkan dari kolom-kolom hasil join antar table tersebut.
Apa fungsi LEFT Join?LEFT JOIN akan menyimpan semua row yang ada di Tabel A. Untuk row yang ada di Tabel A tapi tidak ada di Tabel B, row itu akan dijadikan null.
Apa yang dimaksud dengan Join dalam pemrograman?Join merupakan salah satu kontruksi dasar dari SQL dan basis data. Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih table di dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baru yang disebut sebagai joined tabel.
Apa itu Inner Join dan Left Join?Jika tadi pada LEFT Join akan menampilkan seluruh data yang ada di table 1 dan data di table kedua akan mengikuti, maka pada INNER Join hanya akan menampilkan data dengan key column yang sama antara table 1 dan table 2. Sehingga data yang tidak tersedia di kedua table tidak akan ditampilkan.
|