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 :
- Inner Join
- Left Join
- Right Join
Berikut ini adalah tabel yang saya gunakan dalam tutorial ini
Tabel Barang
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
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
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
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
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
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
LEFT JOIN
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
RIGHT JOIN
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
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.