Cara menggabungkan 3 tabel di phpmyadmin

Cara menggabungkan 3 tabel di phpmyadmin

SQL  (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam relasi database. Bahasa query ini merupakan bahasa standart yang digunakan dalam memanajemen database. Query ini merupakan standar ANSI bahasa pemrograman komputer SQL yang dapat menjalankan query terhadap database. SQL dapat menambahkan data, mengedit data, menghapus data dan menampilkan data.


Sesuai kegunaan dan perkembangannya, SQL memiliki beberapa versi, tetapi agar  tidak terjadi kekeliruan dibuat standar oleh ANSI, mereka harus memiliki  keywords utama yang dipakai secara umum yaitu (SELECT, UPDATE, DELETE, INSERT). SELECT untuk menampilkan isi data. UPDATE untuk mengubah data, DELETE untuk menghapus data, INSERT untuk menambahkan data.


Saya akan membahas query database untuk menggabungkan 3 Tabel dalam satu database. Ini bermula dari proyek saya yang harus menampilkan isi dari 3 tabel yang saling terhubung melalui foreign key.


Dari contoh berikut ini terdapat 3 tabel yaitu: biodata_mahasiswa, status_fakjur, status_jenis_kelamin.

  • biodata_mahasiswa terdiri dari kolom: nim_biodata, nama_biodata, kode_fakjur (merupakan foreign key dari tabel status_fakjur), id_jenis_kelamin (foreign key dari tabel status_jenis_kelamin)
  • status_fakjur terdiri dari kolom: kode_fakjur, nama_fakultas_fakjur
  • status_jenis_kelamin terdiri dari kolom: id_jenis_kelamin, jenis_kelamin

Jadi untuk menampilkan isi dari ketiga tabel tersebut adalah dengan menggunakan perintah berikut:
SELECT bm.nim_biodata, bm.nama_biodata, bm.kode_fakjur, sf.nama_fakultas_fakjur, sjk.jenis_kelamin
FROM (biodata_mahasiswa bm LEFT JOIN status_fakjur sf ON bm.kode_fakjur = sf.kode_fakjur)
LEFT JOIN status_jenis_kelamin sjk ON bm.id_jenis_kelamin = sjk.id_jenis_kelamin;


Berikut adalah tampilan dari hasil query tersebut:

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


Cara menggabungkan 3 tabel di phpmyadmin
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:
$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:

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

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.

Cara menggabungkan 3 tabel di phpmyadmin
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

Cara menggabungkan 3 tabel di phpmyadmin

Terimakasih sudah berkunjung di alvian-cs.blogspot.com, silakan membaca artikel yang lainnya lagi dan jangan lupa berkomentar cerdas dengan tidak membuat SPAM :)