Contoh Fungsi MySQL Join Data Produk dan Kategori

Join MySQL adalah penggabungan tabel yang memiliki relasi melalui key (primary key dan foreign key). Sebuah tabel (tabel A) jika primary keynya ditempatkan di tabel lain (tabel B) maka semua data/atribut dari tabel A dan Tabel B dapat ditampilkan secara bersama – sama melalui motode left join, right join dan inner join.

Menampilkan data dengan metode left join maka akan menampilkan semua data di tabel A dan sebagian data di Tabel B.Sebagian data di tabel B tersebut adalah data yang terkait dengan tabel A

Menampilkan data dengan metode right join akan menampilkan semua data di tabel B dan sebagian data dari tabel A. Sebagian data di tabel A tersebut adalah data yang terkait dengan tabel B.

Sedangkan inner join maksudnya adalah menampilkan data hang hanya terkait antara tabel A dan Tabel B.

Untuk memahami konsep left join, right join dan inner join silahkan ikuti langkah di bawah ini.

Buatlah terlebih dahulu database di phpmyadmin

1. Database yang digunakan pada contoh Left Join, Right Join, Inner Join dan Inner Join ini adalah database penjualan.

Database Penjualan terdiri atas tabel produk dan kategori produk

Struktur tabel produk

CREATE TABLE `produk` (
 `id_produk` int(11) NOT NULL AUTO_INCREMENT,
 `nama_produk` varchar(100) NOT NULL,
 `id_kategori` int(11) NOT NULL,
 `harga` varchar(11) NOT NULL,
 `stok` int(11) NOT NULL,
 `deskripsi` text NOT NULL,
 PRIMARY KEY (`id_produk`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1

Struktur tabel kategori

CREATE TABLE `kategori` (
 `id_kategori` int(11) NOT NULL AUTO_INCREMENT,
 `nama_kategori` varchar(50) NOT NULL,
 PRIMARY KEY (`id_kategori`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1

2. Setelah memiliki data ke 2 tabel tersebut silahkan isikan data masing – masing tabel.

tabel produk
Tabel Produk
Tabel Kategori
Tabel Kategori

Contoh Cara Penerapan MySQL Left Join

MySQL Left Join digunakan untuk menampilkan semua data di tabel kiri (tabel produk) dan data yang terkait dengan tabel kanan (tabel kateqori).

Query MySQL Left Join

SELECT * FROM produk LEFT JOIN kategori ON produk.id_kategori = kategori.id_kategori

Output query

contoh left join
Contoh Left join Produk dan kategori

Dari gambar di atas dapat di lihat bahwa semua data di tabel Produk yang berjumlah 8 ditampilkan di hasil query left join. Selanjutnay dengan menggunakan left join data di tabel kategori hanya muncul data dengan id_kategori 1 dan 2 yaitu Sepatu Pria dan Sepatu wanita sedangkan seperti yang kita lihat pada gambar tabel kategori data Kategori berjumlah 6.

Data kategori dengan id_kategori 1 dan 2 muncul karena terkait di tabel produk. Lihat data id_produk 1 – 4. Terdapat foreign key id_kategori 1 dan 2. data tabel kategori dengan id_kategori 3-6 tidak muncul karena tidak ada kaitannya dengan tabel produk.

Data Produk dengan id_produk 5 sampai 8 tidak memiliki kategori karena tidak memiliki keterkaitan dengan tabel kategori. Keterkaitan tidak ada karena data id_kategori di tabel produk id_produk 5 sampai 8 nilainya 0

Contoh Penerapan MySQL Right Join

MySQL Right Join digunakan untuk menampilkan semua data di tabel kanan (tabel kategori) dan data yang terkait dengan tabel kiri (tabel produk).

SELECT * FROM produk RIGHT JOIN kategori ON produk.id_kategori = kategori.id_kategori

Output Query

contoh right join
Contoh Right Join Produk dan Kategori

Dari gambar di atas dapat di lihat bahwa data produk hanya muncul 4(sebagian) sedangkan data kategori muncul 6(semua)..

Data Produk muncul 4 yiaitu id_produk 1-4 karena hanya id tersebut yang memiliki keterkaitan dengan tabel kategori.

Data Kategori muncul 6 (semua) karena dengan menggunakan right join maka data tabel kanan(tabel kategori) akan muncul semuanya.

Contoh MySQL Inner Join

MySQL Inner Join dalah query join mysql yang menampilkan hanya data yang terkait pada tabel kanan(tabel produk) dan tabel kiri(tabel kategori)

Query inner join

SELECT * FROM produk INNER JOIN kategori ON produk.id_kategori = kategori.id_kategori

. Output Query

contoh inner join
Contoh Inner Join Produk dan Kategori

Contoh inner join di atas menampilkan data produk dan data kategori yang saling memiliki keterkaitan.

Data produk 1 – 4 muncul karena memiliki keterkaitan terhadap tabel kategori id_produk 1 dan 2 memiliki id_kategori 1. id_prdouk 3 dan 4 memiliki id_kategori 2.

Data produk dengan id_produk 5 – 8 tidak muncul karena tidak memiliki keterkaitan dengan tabel kategori. Silahkan dilihat kembali tabel produk produk dengan id_produk 5 – 8 memiliki nilai kategori 0 sehingga keterkaitannya tidak ada dengan tabel kategori.

Data tabel kategori dengan id_kategori 1 dan 2 muncul karena memiliki keterkaitan dengan tabel produk.

Artikel Lanjutan

Join 2 Tabel dan 3 Tabel di Codeigniter Sample Menggunakan Data Koperasi

Leave a Comment