INNER JOIN
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
INNER JOIN Antar Table dengan Kondisi
("ms_cabang" dan "ms_kota" dengan key "kode_kota")
SELECT * FROM ms_cabang INNER JOIN ms_kota ON ms_cabang.kode_kota = ms_kota.kode_kota
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.
untuk row pertama kita memiliki kode_kota dengan nilai
"KOTA-003", ini akan dicari
referensinya ke table ms_kota untuk nilai yang
sama dan kita dapatkan row dengan
nilai nama_kota "Lhokseumawe"
adalah padanannya.
- untuk row kedua kita memiliki kode_kota dengan nilai "KOTA-083", ini akan dicari referensinya ke table ms_kota untuk nilai yang sama dan kita dapatkan row dengan nilai nama_kota "Bau-bau" adalah padanann
- demikian seterusnya.
DELETE FROM ms_kota WHERE nama_kota = 'Lhokseumawe';
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 :
INSERT INTO `ms_kota`
VALUES ('KOTA-003','Lhokseumawe','P33')
INNER JOIN Antar Table Tanpa Kondisi
("ms_cabang" dengan "ms_kota")
SELECT * FROM
ms_cabang INNER JOIN ms_kota
Hasilnya adalah untuk tiap row dari ms_cabang akan
dikombinasikan dengan semua row dari
ms_kota - contoh hasilnya terlihat seperti di bawah ini
INNER JOIN antar
table "ms_cabang", "ms_kota" dan "ms_propinsi"
SELECT ms_cabang.nama_cabang, ms_kota.nama_kota,
ms_propinsi.nama_propinsi
FROM ms_cabang
INNER JOIN ms_kota ON
ms_cabang.kode_kota = ms_kota.kode_kota
INNER JOIN ms_propinsi ON
ms_kota.kode_propinsi = ms_propinsi.kode_propinsi
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 Koma
INNER JOIN antar table secara implisit dapat
menggunakan daftar table yang dipisah dengan tanda koma (,). Pengkondisian
menggunakan klausawhere.
SELECT ms_cabang.nama_cabang,
ms_kota.nama_kota , ms_propinsi.nama_propinsi
FROM ms_cabang
, ms_kota
, ms_propinsi
WHERE
ms_cabang.kode_kota = ms_kota.kode_kota AND
ms_kota.kode_propinsi =
ms_propinsi.kode_propinsi
Demikian sedikit tutorial tentang INNER JOIN pada kesempatan lain kita akan membahasa tentang jenis join :
CROSS JOIN
0 Response to " Tutorial Tentang Type / Jenis Join di MySQL "
Post a Comment