Cara Menggabungkan Dua Tabel Atau Lebih Pada PHP MySQL

Penggabungan antara dua tabel sangatlah perlu, agar relationship dapat bekerja, berikut adalah cara penggabungan dua atau lebih tabel pada Bahasa Pemrograman PHP dan MySQL.

Contoh tabel user
Pada contoh kali ini, saya akan mempraktikan cara menggabungkan data siswa dengan data user yang sudah memiliki relasi dengan menggunakan perintah SQL Inner Join.

Pertama, buat dahulu databasenya, kita beri saja nama ‘db’, kemudian eksekusi query berikut pada MySql:
CREATE TABLE IF NOT EXISTS `tblsiswa` (
`NIS` varchar(15) NOT NULL,
`Nama` varchar(30) NOT NULL,
`Alamat` text NOT NULL,
PRIMARY KEY (`NIS`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Kemudian kita buat juga tabel usernya, eksekusi query berikut:
CREATE TABLE IF NOT EXISTS `tbluser` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`Username` varchar(15) NOT NULL,
`Password` varchar(15) NOT NULL,
`NIS` varchar(15) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Nah, sekarang kita isi tabelnya dengan mengeksekusi perintah INSERT ke dalam tabel user, gunakan query berikut:
INSERT INTO `tbluser` (`Id`, `Username`, `Password`, `NIS`) VALUES
(1, 'alvian', 'alvian', '11265');

Jangan lupa masukkan data ke tabel siswa, gunakan query yg ini:
INSERT INTO `tblsiswa` (`NIS`, `Nama`, `Alamat`) VALUES
('11265', 'Alvian', 'Banjarnegara');

Setelah selesai, sekarang buat file php kemudian masukkan kode skrip dibawah ini:
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "db";

mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");

$Query = mysql_query("SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS");

$RecordSet = mysql_fetch_array($Query);

echo "Profil: <br><br>";
echo "NIS: $RecordSet[NIS]<br>";
echo "Username: $RecordSet[Username]<br>";
echo "Password: $RecordSet[Password]<br>";
echo "Nama: $RecordSet[Nama]<br>";
echo "Alamat: $RecordSet[Alamat]<br>";
?>

Setelah itu coba dibuka melalui browser, maka tabel siswa dan tabel user akan menyatu dan sudah menjadi kesatuan baris data yang padahal mereka ada di tabel yang berbeda.
Hasil gabungan tabel 1 dan 2
Dalam hal implementasi, sama dengan pengambilan data (retrieve) seperti yang ada pada sebagian besar sosial media, mereka umumnya memisahkan tabel data profil dengan data user di tabel yang berbeda, untuk mencegah kerumitan data sekaligus normalisasi.

Sedangkan untuk menggabungkan tiga tabel kita cukup menambah perintah inner join lagi pada variabel Query yang ada pada sintaks PHP, contohnya begini:
SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS
INNER JOIN blabla
ON blabla.bla = blabla.bla

begitu pun seterusnya bila kita memerlukan penggabungan lebih dari 3 tabel, maka kita cukup tambahkan perintah inner join dibawahnya lagi