Tutorial Select Multi Table Pada MySQL (Studi Kasus Perpustakaan)

27 Mar 2012 11:27:37 | by Daud Edison Tarigan | 4042 views


Berjumpa lagi dengan admin AplikasiPHP.com, setelah beberapa hari saya tidak menulis artikel dikarenakan kesibukan saya. Kali ini saya akan kembali mengangkat tutorial mengenai MySQL karena saya merasa tulisan saya tentang topic ini masih sedikit. Nah pada tutorial ini kita akan belajar bagaimana memanipilasi data dari beberapa table untuk dibuat kedalam satu data yang saling terkait satu dengan lainnya. Tutorial ini saya sebut dengan Select Multi Table pada MySQL. Oh ya, tutorial ini masih ada kaitannya dengan tutorial sebelumnya yaitu Skrip PHP untuk Mengambil Data MySQL secara Acak dan Aplikasi View (Virtual Tabel database) Dalam Aplikasi Perpustakaan. Ketiga artikel ini dibangun dengan database yang sama.


Mungkin kita sudah bisa membuat sintaks query untuk memanipulasi data dari satu table database. Namun sering sekali kita (saya sendiri juga sering) mengalami masalah ketika kita harus mengambil data dari beberapa table database yang berbeda. Nah disini kita misalkan kita memiliki database “perpustakaan” yang memiliki 3 buah table. Keempat tabeli itu adalah table anggota, buku, dan pinjam. Adapaun table-tabel ini memiliki struktur dan data seperti dibawah ini :

Tabel Anggota :

  1.  
  2. CREATE TABLE IF NOT EXISTS `anggota` (
  3. `id_anggota` int(11) NOT NULL AUTO_INCREMENT,
  4. `nama_anggota` varchar(25) NOT NULL,
  5. `alamat_anggota` varchar(100) NOT NULL,
  6. PRIMARY KEY (`id_anggota`)
  7. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
  8.  
  9. --
  10. -- Dumping data for table `anggota`
  11. --
  12.  
  13. INSERT INTO `anggota` (`id_anggota`, `nama_anggota`, `alamat_anggota`) VALUES
  14. (1, 'Daud Edison Tarigan', 'Padang Bulan, Medan'),
  15. (2, 'Andi Tarigan', 'Kabupaten Karo, Sumatera Utara');
  16.  


Tabel Buku:

  1.  
  2. CREATE TABLE IF NOT EXISTS `buku` (
  3. `id_buku` int(10) NOT NULL AUTO_INCREMENT,
  4. `judul_buku` varchar(60) NOT NULL,
  5. `penulis_buku` varchar(50) NOT NULL,
  6. `penerbit_buku` varchar(40) NOT NULL,
  7. PRIMARY KEY (`id_buku`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
  9.  
  10. --
  11. -- Dumping data for table `buku`
  12. --
  13.  
  14. INSERT INTO `buku` (`id_buku`, `judul_buku`, `penulis_buku`, `penerbit_buku`) VALUES
  15. (1, 'Membangun SMS Gateway Berbasis Web dengan CodeIgniter', 'Daud Edison Tarigan', 'Lokomedia'),
  16. (2, 'Membangun Aplikasi Perpustakaan Berbasis Web dengan CodeIgni', 'Daud Edison Tarigan', 'Lokomedia');
  17.  



Tabel Pinjam

  1.  
  2. CREATE TABLE IF NOT EXISTS `pinjam` (
  3. `id_pinjam` int(10) NOT NULL AUTO_INCREMENT,
  4. `id_anggota` int(10) NOT NULL,
  5. `id_buku` int(10) NOT NULL,
  6. `tgl_pinjam` date NOT NULL,
  7. PRIMARY KEY (`id_pinjam`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
  9.  
  10. --
  11. -- Dumping data for table `pinjam`
  12. --
  13.  
  14. INSERT INTO `pinjam` (`id_pinjam`, `id_anggota`, `id_buku`, `tgl_pinjam`) VALUES
  15. (1, 1, 1, '2012-03-14'),
  16. (2, 2, 2, '2012-03-15');
  17.  


Nah dari tabeli diatas semua dapat kita lihat bahwa ada relasi antara table “pinjam” dengan table “anggota” dimana keduanya dihubungkan oleh forigen key yaitu “id_anggota”. Demikian juga antara table “pinjam” dengan table “buku” dihubungkan oleh forigen key yaitu “id_buku”. Nah relasi antar table inilah yang akan kita gunakan sebagai kunci kita dalam memanipulasi data dari ketiga table itu.


Misalkan kita ingin mengambil data peminjamam buku lengkap dengan nama peminjam dan buku yang di pinjam, kita dapat menggunakan query berikut ini :
  1.  
  2. SELECT
  3. t1.`id_pinjam`,
  4. t2.`nama_anggota`,
  5. t2.`alamat_anggota`,
  6. t3.`judul_buku`,
  7. t3.`penulis_buku`,
  8. t3.`penerbit_buku`
  9. FROM
  10. `pinjam` t1,
  11. `anggota` t2,
  12. `buku` t3
  13. WHERE
  14. t1.`id_anggota`=t2.`id_anggota`
  15. and t1.`id_buku`= t3.`id_buku`
  16.  



Dengan sintaks query diatas anda akan menghasilkan data seperti gambar di bawah ini :

aplikasi View pada MySQL


Mudah bukan?? Sampai disini dulu tutorial kali ini, semoga membantu rekan-rekan semua…. Dan jika anda tidak keberatan, silahkan di share artikel ini ke teman-teman Facebook atan Twitter anda, mana tau ada teman lain yang memerlukan artikel ini. Untuk men-share-kan artikel ini cukup mudah, anda cukup komentari artikel ini dengan ID Facebook anda atau tekan Tombol Like atau SHARE facebook di bawah ini.


Kata Kunci : Query MySQL| Tutorial MySQL| Query Multi Tabel MySQL

Sumber : http://aplikasiphp.com




Artikel ini menarik bagi Anda? Mari kita berdiskusi dan berbagi informasi terkait artikel ini dengan memberikan komentar di bawah ini. Mungkin saja tulisan yang saya sampaikan masih kurang tepat, sehingga komentar dan perbaikan dari anda dapat memberikan masukan baru sehingga kita semua mendapatkan informasi yang benar-benar akurat. Silahkan komentari artikel ini menggunakan Account Sosial Media anda, namun hindari memberikan komentar yang menghina atau merendahkan pihak manapun.