Perintah join pada mysql

Perintah join pada mysql

Dalam menampilkan sebuah data dari sebuah database seringkali kita harus memampilkan data dari beberapa tabel dalam satu buah sql query. Oleh karena itu kita perlu mengetahui cara nya dan caranya itu menggunakan query sql join.

Baca Juga : Menampilkan Data Dari Database dengan menggunakan Codeigniter 4

Kali ini rumah code akan membahas tentnang bagaimana cara menampilkan data dari database dengan menggunakan query sql join. Query SQL JOIN yang akan dibahas kali ini adalah :

  1. Inner Join
  2. Left Join
  3. Right Join

Berikut ini adalah tabel yang saya gunakan dalam tutorial ini

Tabel Barang

Perintah join pada mysql

CREATE TABLE `barang` (
  `barang_id` double NOT NULL,
  `barang_nama` varchar(30) NOT NULL,
  `barang_qty` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `barang` (`barang_id`, `barang_nama`, `barang_qty`) VALUES
(1, 'Tas Wanita', 100),
(2, 'Tas Pria', 100),
(3, 'Baju Wanita', 100),
(4, 'Baju Pria', 100),
(5, 'Celana Wanita', 100),
(6, 'Celana Pria', 100),
(7, 'Kaos Oblong', 100),
(8, 'Kemja Batik', 100);

Tabel Transaksi

Perintah join pada mysql

CREATE TABLE `transaksi` (
  `trx_id` double NOT NULL,
  `user_id` varchar(20) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `transaksi` (`trx_id`, `user_id`) VALUES
(1, 'andri'),
(2, 'bagas'),
(3, 'heri'),
(4, 'yuli');

Tabel Transaksid

Perintah join pada mysql

CREATE TABLE `trasaksid` (
  `trxD_id` double NOT NULL,
  `trx_id` double NOT NULL,
  `barang_id` double NOT NULL,
  `trx_qty` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

INSERT INTO `trasaksid` (`trxD_id`, `trx_id`, `barang_id`, `trx_qty`) VALUES
(1, 1, 4, 1),
(2, 1, 3, 2),
(3, 2, 8, 1),
(4, 1, 7, 2),
(5, 3, 8, 4),
(6, 3, 1, 5),
(7, 4, 7, 7),
(8, 4, 7, 4);

Tabel User

Perintah join pada mysql

CREATE TABLE `user` (
  `user_id` varchar(20) NOT NULL,
  `user_password` tinytext DEFAULT NULL,
  `user_email` varchar(50) DEFAULT NULL,
  `user_alias` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


INSERT INTO `user` (`user_id`, `user_password`, `user_email`, `user_alias`) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3', '', 'Admin'),
('adrian', '8c4205ec33d8f6caeaaaa0c10a14138c', '', 'Adriana'),
('andri', '6bd3108684ccc9dfd40b126877f850b0', '', 'Andriana'),
('ardi', '0264391c340e4d3cbba430cee7836eaf', '', 'Ardianan'),
('bagas', 'ee776a18253721efe8a62e4abd29dc47', '', 'Bagas Adi'),
('bima', '7fcba392d4dcca33791a44cd892b2112', '', 'Bima Satria'),
('herdi', '70ef423c063dfa178e58114b90052a9b', '', 'Herdianan'),
('heri', '6812af90c6a1bbec134e323d7e70587b', '', 'Heriana'),
('lili', '777bbb7869ae8193249f8ff7d3e59afe', '', 'Lilianan'),
('novi', '832f72b7a13b2cedcfb108603a10e2a6', '', 'Noviana'),
('rudi', '1755e8df56655122206c7c1d16b1c7e3', '', 'Rudiana'),
('wisnu', '202cb962ac59075b964b07152d234b70', '', 'wisnu i'),
('yuli', '4a01a05a350e1c7710c989f1211245a8', '', 'Yulianan');

Index / Key dari tabel di atas

ALTER TABLE `barang`
  ADD PRIMARY KEY (`barang_id`);


ALTER TABLE `transaksi`
  ADD PRIMARY KEY (`trx_id`),
  ADD KEY `user_id` (`user_id`);


ALTER TABLE `trasaksid`
  ADD PRIMARY KEY (`trxD_id`),
  ADD KEY `trx_id` (`trx_id`),
  ADD KEY `barang_id` (`barang_id`);


ALTER TABLE `user`
  ADD PRIMARY KEY (`user_id`);


ALTER TABLE `barang`
  MODIFY `barang_id` double NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;


ALTER TABLE `transaksi`
  MODIFY `trx_id` double NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;


ALTER TABLE `trasaksid`
  MODIFY `trxD_id` double NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;


ALTER TABLE `trasaksid`
  ADD CONSTRAINT `trasaksid_ibfk_1` FOREIGN KEY (`trx_id`) REFERENCES `transaksi` (`trx_id`),
  ADD CONSTRAINT `trasaksid_ibfk_2` FOREIGN KEY (`barang_id`) REFERENCES `barang` (`barang_id`);
COMMIT;

Baca Juga : Belajar Query Dasar Mysql

INNER JOIN

Perintah join pada mysql
Fungsi dari Inner Join adalah menampilkan record yang memiliki kesamaan nilai dari dua buah tabel. 

Perintah dasar untuk melakukan inner join adalah sebagai berikut

SELECT nama_kolom
FROM table1
INNER JOIN table2
ON table1.nama_kolom = table2.nama_kolom;

Contoh Inner Join

INNER JOIN 2 Tabel

SELECT trasaksid.trx_id,trasaksid.barang_id,barang.barang_nama FROM trasaksid 
INNER JOIN barang on trasaksid.barang_id = barang.barang_id

data yang ditampilkan dari query join di atas akan seperti gambar di bawah ini

Perintah join pada mysql

Inner Join 3 Tabel

SELECT trasaksid.trx_id,transaksi.user_id,trasaksid.barang_id,barang.barang_nama FROM ((trasaksid 
INNER JOIN transaksi on trasaksid.trx_id = transaksi.trx_id) 
INNER JOIN barang on trasaksid.barang_id = barang.barang_id)

Perintah di atas akan menampilkan data sebagai berikut

Perintah join pada mysql

LEFT JOIN

Perintah join pada mysql
Left join adalah sebuah query join untuk menampilkan semua data pada tabel yang berada di sebelah kiri (table1) dan record yang berada pada table2 atau yang berada di sebelah kanan. Jika tabel2 tidak ada isi nya maka data yang ditampilkan adalah null.

Perintah dasar penggunakan query Left Join

SELECT nama_kolom
FROM table1
LEFT JOIN table2
ON table1.nama_kolom = table2.nama_kolom;

Contoh Query Left Join

SELECT USER.user_alias,user.user_email,transaksi.user_id FROM user
LEFT JOIN transaksi ON transaksi.user_id = user.user_id

Query dari mysql Left Join di atas akan menampilkan data seperti gambar di bawah ini

Perintah join pada mysql

RIGHT JOIN

Perintah join pada mysql
Right Join adalah kebalikan dari fungsi sql join Lerft Join

Perintah Dasar Penggunakan Query RIGHT JOIN

SELECT nama_kolom
FROM table1
RIGHT JOIN table2
ON table1.nama_kolom = table2.nama_kolom;

Contoh Query RIGHT JOIN

SELECT trasaksid.trxD_id,trasaksid.trx_id,trasaksid.trx_qty,barang.barang_nama FROM trasaksid 
RIGHT JOIN barang on barang.barang_id = trasaksid.barang_id

Contoh Query dari mysql Right Join di atas kana menampilkan data seperti gambar di bawah ini

Perintah join pada mysql

Demikian lah perintah query sql join yang dapat saya bahas kali ini. Semoga dapat membantu teman teman dalam menggabungkan beberapa tabel dalam satu buah query.

Baca Juga : Perintah dasar Mysql

Artikel Menarik Lainnya

menampilkan data dari database, menampilkan data dari database mysql, sql join, sql join 3 table, sql join 3 tables, query sql join, sql join 3 tabel, fungsi sql join, mysql join, mysql join 3 table, mysql join table, mysql join 2 table,

Apa itu join di mysql?

Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap.

Apa itu perintah SQL join?

1. Fungsi JOIN SQL JOIN merupakan salah satu fungsi yang ada di SQL yang digunakan untuk penggabungan table melalui kolom atau key tertentu dimana memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap.

Apa itu perintah SQL join dan kapan kita membutuhkan perintah tersebut?

Pada SQL, perintah JOIN merupakan perintah dasar dan sering digunakan ketika bekerja dengan data. Perintah JOIN digunakan untuk menggabungkan tabel melalui kolom atau key tertentu yang nilainya saling terkait untuk memperoleh set data dengan informasi yang lengkap.

Apa itu Inner join dan Left join?

INNER JOIN: mengembalikan baris ketika ada kecocokan di kedua tabel. LEFT JOIN: mengembalikan semua baris dari tabel kiri, bahkan jika tidak ada kecocokan di tabel kanan. RIGHT JOIN: mengembalikan semua baris dari tabel kanan, bahkan jika tidak ada kecocokan di tabel kiri.