Join merupakan cara untuk mengumpulkan data data dari tabel agar saling menghubungkan
ada beberapa bentuk perintah join pada MSQL, sebgai berikut
1. MySQL Left Join digunakan untuk menampilkan semua data di tabel kiri (tabel produk) dan data yang terkait dengan tabel kanan (tabel kateqori).
2. MySQL Right Join digunakan untuk menampilkan semua data di tabel kanan (tabel kategori) dan data yang terkait dengan tabel kiri (tabel produk).
3. MySQL Inner Join dalah query join mysql yang menampilkan hanya data yang terkait pada tabel kanan(tabel produk) dan tabel kiri(tabel kategori) menampilkan record yang memiliki kesamaan nilai dari 2 buah table.
Mari kita berlatih dengan perintah berikut
sebelum menerapkan join kita harus membuat tabel seperti contoh berikut :
Pada pembuatan database gunakan syntak create databse sistem_pemesanan;
show databases; ( untuk memastikan database berhasil dibuat)
use database;
selanjutnya mengisi database sistem_pemesanan menggunakan tabel pelanggan dengan syntak mysql> create table pelanggan (id_pelanggan varchar (50), nm_pelanggan varchar (50), alamat varchar (50), telepon varchar (12), email varchar (50));
show tables; ( untuk memastikan table pelanggan masuk )
desc pelanggan; (untuk mengecek detail dari pelanggan bahwa sudah sesuai dengan perintah)
lalu perintahkan dengan syntak insert into pelanggan(memasukan record pada table pelanggan)mysql> insert into pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) values
-> ('UAA001', 'Abiyasa', 'Ngastino', '08111222333', 'abiyasa@almaata.ac.id'),
-> ('UAA002', 'Baladewa', 'Madura', '08222333444', 'baladewa@almaata.ac.id'),
-> ('UAA003', 'Cakil', 'Goa', '08333444555', 'cakil@almaata.ac.id'),
-> ('UAA004', 'Dasamuka', 'Ngalengka', '08444555666', 'dasamuka@almaata.ac.id'),
-> ('UAA005', 'Ekalawya', 'Nishada','08555666777', 'ekalawya@almaata.ac.id');
dan gunakan syntak select*from pelanggan
isi database sistem _pemesanan dengan table pesan dengan syntak :
mysql> create table pesan (id_pesan varchar (50), id_pelanggan varchar (50), tgl_pesan date);
show tables; ( untuk menunjukan table)
desc tables; ( untuk melihat detail table )
lalu perintahkan dengan syntak insert into pesan (memasukan record pada table pelanggan)mysql> insert into pesan (id_pesan, id_pelanggan, tgl_pesan) values
-> ('1', 'UAA001', '2020-10-28'),
-> ('2', 'UAA002', '2020-10-29'),
-> ('3', 'UAA002', '2020-10-30'),
-> ('4', 'UAA003', '2020-10-31'),
-> ('5', 'UAA004', '2020-10-31');
dan gunakan syntak select*from pesan;
isi database sistem _pemesanan dengan table produk dengan syntak : CREATE table produk (id_produk varchar (50), nm_produk varchar (50), satuan varchar (50), harga decimal (10,0), stock int (50));
show tables; ( untuk menunjukan table)
desc tables; ( untuk melihat detail table )
lalu perintahkan dengan syntak insert into produk (memasukan record pada table pelanggan) dengan sytak : mysql> insert into produk (id_produk, nm_produk, satuan, harga, stock) values
-> ('MIE001', 'INDOMIE GORENG', 'PCS', '2000', '100'),
-> ('MIE002', 'SARIMI GORENG', 'PCS', '1900', '200'),
-> ('ATK001', 'PENSIL 2B', 'PCS', '5000', '50'),
-> ('ATK002', 'BOLPOIN STANDART', 'PCS', '7500', '100');
dan gunakan syntak select*from produk;
selanjutnya mengisi database sistem_pemesanan menggunakan tabel faktur dengan syntak mysql> create table faktur (id_faktur varchar (50), id_pesan varchar (20), tgl_faktur varchar (50));
show tables; ( untuk menunjukan table)
desc tables; ( untuk melihat detail table )
lalu perintahkan dengan syntak insert into faktur (memasukan record pada table pelanggan) dengan sytak : mysql> insert into faktur (id_faktur, id_pesan, tgl_faktur) values
-> ('INV001', '1', '2020-10-28'),
-> ('INV002', '2', '2020-10-29'),
-> ('INV003', '3', '2020-10-30'),
-> ('INV004', '4', '2020-10-31');
dan gunakan syntak select*from faktur;
Berikut ini contoh soal DML JOIN
JOIN
Menggunakan WHERE, tuliskan syntax (SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan.pesan tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;)
Menggunakan INNER JOIN, tuliskan syntax SELECT pelanggan.id_pelanggan,pelanggan.nm_pelanggan, pesan.id_pesan,pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Menggabungkan tabel pesan dan faktur menggunakan WHERE dengan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur, faktur.tgl_faktur from pesan, faktur WHERE pesan.id_pesan=faktur.id_pesan;
Menggabungkan tabel pesan dan faktur menggunkan INNER JOIN dengan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur, faktur.tgl_faktur from pesan INNER JOIN faktur ON pesan.id_pesan=faktur.id_pesan;
OUTER JOIN
Menggunakan LEFT tuliskan syntax SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;Ubahlah perintah left diatas menjadi RIGHT, temukan perbedaanya!
Gunakan syntax SELECT pesan.id_pesan, pesan.tgl_pesan, pelanggan.id_pelanggan, pelanggan.nm_pelanggan FROM pesan RIGHT JOIN pelanggan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Gabungkan antara tabel pelanggan, pesan, dan faktur!
Gunakan syntax SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan, faktur.id_faktur, faktur.tgl_faktur FROM pelanggan, pesan, faktur WHERE pelanggan.id_pelanggan=pesan.id_pelanggan AND pesan.id_pesan=faktur.id_pesan;
.png)
SEMOGA BERMANFAAT
Komentar
Posting Komentar