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 :
CREATE TABLE IF NOT EXISTS `anggota` ( `id_anggota` int(11) NOT NULL AUTO_INCREMENT, `nama_anggota` varchar(25) NOT NULL, `alamat_anggota` varchar(100) NOT NULL, PRIMARY KEY (`id_anggota`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Dumping data for table `anggota` -- INSERT INTO `anggota` (`id_anggota`, `nama_anggota`, `alamat_anggota`) VALUES (1, 'Daud Edison Tarigan', 'Padang Bulan, Medan'), (2, 'Andi Tarigan', 'Kabupaten Karo, Sumatera Utara');
CREATE TABLE IF NOT EXISTS `buku` ( `id_buku` int(10) NOT NULL AUTO_INCREMENT, `judul_buku` varchar(60) NOT NULL, `penulis_buku` varchar(50) NOT NULL, `penerbit_buku` varchar(40) NOT NULL, PRIMARY KEY (`id_buku`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Dumping data for table `buku` -- INSERT INTO `buku` (`id_buku`, `judul_buku`, `penulis_buku`, `penerbit_buku`) VALUES (1, 'Membangun SMS Gateway Berbasis Web dengan CodeIgniter', 'Daud Edison Tarigan', 'Lokomedia'), (2, 'Membangun Aplikasi Perpustakaan Berbasis Web dengan CodeIgni', 'Daud Edison Tarigan', 'Lokomedia');
CREATE TABLE IF NOT EXISTS `pinjam` ( `id_pinjam` int(10) NOT NULL AUTO_INCREMENT, `id_anggota` int(10) NOT NULL, `id_buku` int(10) NOT NULL, `tgl_pinjam` date NOT NULL, PRIMARY KEY (`id_pinjam`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; -- -- Dumping data for table `pinjam` -- INSERT INTO `pinjam` (`id_pinjam`, `id_anggota`, `id_buku`, `tgl_pinjam`) VALUES (1, 1, 1, '2012-03-14'), (2, 2, 2, '2012-03-15');
SELECT t1.`id_pinjam`, t2.`nama_anggota`, t2.`alamat_anggota`, t3.`judul_buku`, t3.`penulis_buku`, t3.`penerbit_buku` FROM `pinjam` t1, `anggota` t2, `buku` t3 WHERE t1.`id_anggota`=t2.`id_anggota` and t1.`id_buku`= t3.`id_buku`

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.