Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Tutorial Inner Join MySQL

Apakah kalian pernah mengalami situasi dimana kita diharuskan untuk
memanggil data pada tabel tertentu, namun beberapa data berada pada
tabel terpisah yang saling berhubungan satu sama lain ? Pernah dengar,
atau sempat mempelajari INNER JOIN pada query mysql namun lupa prosedur penggunaannya ?

Pertanyaan singkat di atas mungkin sedikit
membingungkan bagi beberapa pembaca. Contoh kasus untuk memperjelas
maksud penulis di atas adalah sebagai berikut :

Misalkan, kita memiliki sebuah tabel artikel dan
gambar dalam database. Tabel artikel berisikan field penulis, judul, dan
konten berita. Sedangkan pada tabel gambar, kita memiliki field
nama_gambar. Sampai disini cukup mudah bukan untuk dimengerti ?

Selanjutnya kita masuk pada masalah. Tabel artikel dan gambar ini
saling terkait. Tabel gambar, menyimpan nama gambar dari artikel  yang
kita buat pada tabel artikel. Nama gambar ini tidak disimpan pada tabel
artikel, sehingga pada saat pemanggilan data untuk di tampilkan nanti,
kita harus menggabungkan kedua tabel tersebut.


Contoh Kasus

Pada kondisi ini, kita perlu menggunakan query inner join untuk menggabungkan 2 tabel yang kita punya.

Untuk latihan, buatlah dua buah tabel dengan nama gambar dan artikel pada database kalian.

Tabel Artikel

Tabel Artikel

Tabel Gambar

Tabel Gambar

Setelah create table di atas, input beberapa data ke dalam tabel untuk kita panggil nanti menggunakan inner join.

Data Tabel Artikel

data tabel artikel

Data Tabel Gambar

tabel gambar

Sekarang kita telah memiliki tabel artikel
dan gambar, serta konten data untuk masing-masing tabel. Dan untuk
menggabungkan ke dua tabel tersebut kita menggunakan :

SELECT artikel.penulis, artikel.judul, artikel.konten, gambar.id, gambar.nama_gambar FROM artikel INNER JOIN gambar ON artikel.id = gambar.id_artikel

Maka hasil dari query di atas akan tampil seperti gambar di bawah ini

Poin penting pada query inner join ini,
apabila kita ingin secara spesifik memilih field field tertentu yang
ingin kita tampilkan, maka kita menggunakan format SELECT namatabel.namafield dan untuk menggabungkannya kita menambahkan namatabel1 INNER JOIN namatabel2 ON tabel1.id = tabel2.id (data ini harus dimiliki pada kedua tabel dan saling berhubungan)

Selamat mencoba!

source magpieweb.com

Tanggapan

  • Thanks kang, buat tutorialnya >:D<
  • sekedar nambahin gan, kalau query nya sudah berjalan lancar....
    kita buat view nya aza sekalian dari query inner join tersebut untuk mempersingkat penulisan query
    :)
  • mantaaapp.. jadi lebih ngerti.. thanks
  • sekedar nambahin gan, kalau query nya sudah berjalan lancar....
    kita buat view nya aza sekalian dari query inner join tersebut untuk mempersingkat penulisan query
    :)
    tapi hati2 gan, kalau bisa hindari penggunaan view, krn klo data bnyk, penampilan data akan lama
  • edited April 2013
    sekedar nambahin gan, kalau query nya sudah berjalan lancar....
    kita buat view nya aza sekalian dari query inner join tersebut untuk mempersingkat penulisan query
    :)
    tapi hati2 gan, kalau bisa hindari penggunaan view, krn klo data bnyk, penampilan data akan lama
    bner gan, penggunaan view trsbut dsesuaikn dngn kbutuhan.
    kalau bsa, dlm pmbuatn DB kta biasain bkin ERD ny biar ntar gk bngung dn nanti ada jga thap Normalisasi DB (biar datanya tidak redudansi), dn kalau, database yg dgunain d pruntukan untk SISTEM INFORMASI sbaiknya kta tmbahkn jga Data WareHouse di dalmnya, itung2 kta bsa analisis.. 
    :)
  • edited May 2013
    trus apa bedanya dgn ini :
    SELECT artikel.penulis, artikel.judul, artikel.konten, gambar.id, gambar.nama_gambar
    FROM artikel, gambar WHERE artikel.id = gambar.id_artikel

    apa bedanya? ingin tau.. :-/ :-?
  • Hasilnya sama, cuma pemakaian memory-nya lebih kecil yg menggunakan JOIN, efeknya kecepatan menampilkan datanya.
    Kalau LEFT JOIN & RIGHT JOIN beda  lagi hasilnya.
  • edited September 2013
    mas, gambar contoh nya kok hilang, ga bisa liat contoh kasus nya
  • Minta gambarnya,, kok hilang... :((
  • INNER JOIN gambar ON artikel.id = gambar.id_artikel
    -----------------------------------
    itu kok ada _artikel di ujung nya ya :-?   
  • Gambarnya tidak muncul, tolong di update.
  • domain nya sudah expired mas ...
    jadi jangan ngarep gambar di update ...




    * sementara gw lock aja dah *
This discussion has been closed.