Pada
bahasa SQL, operasi join atau penggabungan "menyamping" antar table
adalah operasi dasar database relasional yang sangat penting. Untuk mendukung
perancangan database resional yang baik, berikut adalah penjelasan dan
ilustrasi mengenai join ini.
Tipe / Jenis JOIN TABLE pada
MySQL 5.0
Pada
MySQL ada beberapa tipe JOIN seperti bahasa SQL pada umumnya. Namun ada
beberapa yang merupakan dialek khusus atau memiliki perbedaan sifat dengan
standar SQL.
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.
Berikut adalah TABLE JOIN yang
ada pada MySQL :
- · INNER JOIN
- · CROSS JOIN - identik dengan INNER JOIN
- · OUTER JOIN
- · STRAIGHT JOIN
- · INNER JOIN
INNER JOIN
INNER
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 :
table_reference [INNER] JOIN table_factor
[join_condition]
Terlihat
bahwa keyword INNER boleh digunakan secara eksplisit atau tidak. Jika tidak
digunakan maka konstruksi JOIN tanpa keyword lain dianggap sebagai INNER JOIN.
Secara pengerjaan relasi hampir
sama dengan klusa WHERE
WHERE table1.referensiID = table2.referensiID
CROSS JOIN
CROSS
JOIN identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER
JOIN, dan karena klausa ini jarang dipakai maka tidak diulangi lagi disini.
OUTER JOIN
OUTER
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 :
Perlu
dibedakan antara table sumber dan table referensi, ini ditentukan dengan cara
menspesifikasikan kedudukan table sumber apakah di kiri (LEFT) atau di kanan
(RIGHT).
Jika
tidak ada data dari table referensi yang cocok dengan kondisi join maka hanya
data dari table sumber yang ditampilkan tetapi kolom-kolom table referensi akan
berisi null.
LEFT JOIN
Operasi left join akan
menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang
disisi kanan nilainya tidak sama ataupun berisi null.
RIGHT JOIN
Operasi right join akan
menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang
di sisi kiri nilainya tidak sama ataupun berisi null.
STRAIGHT_JOIN
STRAIGHT_JOIN merupakan pengganti
keyword JOIN pada MySQL yang digunakan untuk "memaksa" proses join
table dari kiri (LEFT) ke kanan (RIGHT).
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.
Join
diperlukan karena perancangan table pada sistem transaksional kebanyakan
di-normalisasi, salah satu alasannya untuk menghindari redundansi.
Tidak ada komentar:
Posting Komentar