DML JOIN II

 


 

                Halo Agan-agan! Pada kali ini saya akan melanjutkan pertemuan dari DML JOIN yang sebelumnya, kali ini berupa penggabungan table menggunakan Join. Maka saya akan membuat beberapa tabelnya telebih dahulu

CREATE DATABASE sistem_pemesanan;

 

USE sistem_pemesanan;

 

DROP TABLE IF EXISTS pelanggan;

 

CREATE TABLE pelanggan (id_pelanggan varchar(5) NOT NULL, nm_pelanggan varchar(40) NOT NULL, alamat text NOT NULL, telepon varchar(20) NOT NULL, email varchar(50) NOT NULL, PRIMARY KEY (id_pelanggan)) ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;

 

DROP TABLE IF EXISTS produk;

 

CREATE TABLE produk (id_produk varchar(5) NOT NULL, nm_produk varchar(30) NOT NULL, satuan varchar(10) NOT NULL, harga decimal(10,0) NOT NULL default '0', stock int(3) NOT NULL default '0', PRIMARY KEY (id_produk)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

DROP TABLE IF EXISTS pesan;

 

CREATE TABLE pesan (id_pesan varchar(5) NOT NULL, id_pelanggan varchar(5) NOT NULL, tgl_pesan date NOT NULL, PRIMARY KEY (id_pesan), KEY id_pelanggan (id_pelanggan), CONSTRAINT pesan_ifbk_2 FOREIGN KEY (id_pelanggan) REFERENCES pelanggan (id_pelanggan)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

 

DROP TABLE IF EXISTS detil_pesan;

 

CREATE TABLE detil_pesan (id_pesan varchar(5) NOT NULL, id_produk varchar(5) NOT NULL, jumlah int(5) NOT NULL default '0', harga decimal(10,0) NOT NULL default '0', PRIMARY KEY (id_pesan,id_produk), KEY FK_pesan (id_produk), KEY id_pesan (id_pesan), CONSTRAINT FK_pesan FOREIGN KEY (id_produk) REFERENCES produk (id_produk), CONSTRAINT FK_pesan2 FOREIGN KEY (id_pesan) REFERENCES pesan (id_pesan)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

DROP TABLE IF EXISTS faktur;

 

CREATE TABLE faktur (id_faktur varchar(5) NOT NULL, id_pesan varchar(5) NOT NULL, tgl_faktur date NOT NULL, PRIMARY KEY (id_faktur), KEY id_pesan (id_pesan), CONSTRAINT faktur_ifbk_1 FOREIGN KEY (id_pesan) REFERENCES pesan (id_pesan)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

DROP TABLE IF EXISTS kuitansi;

 

CREATE TABLE kuitansi (id_kuitansi int(5) NOT NULL AUTO_INCREMENT, id_faktur varchar(5) NOT NULL, tgl_kuitansi date NOT NULL, PRIMARY KEY (id_kuitansi), KEY FK_kuitansi (id_faktur), CONSTRAINT FK_kuitansi FOREIGN KEY (id_faktur) REFERENCES faktur (id_faktur)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 


Nah, setelah table selesai dibuat, saya tinggal menginput data kedalam tiap-tiap table yang telah saya buat :

INSERT INTO pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) VALUES('UAA01', 'Abiyasa', 'Ngastino', '08111222333', 'abiyasa@almaata.ac.id');

INSERT INTO pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) VALUES('UAA02', 'Baladewa', 'Madura', '08222333444', 'baladewa@almaata.ac.id');

INSERT INTO pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) VALUES('UAA03', 'Cakil', 'Goa', '08333444555', 'cakil@almaata.ac.id');

INSERT INTO pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) VALUES('UAA04', 'Dasamuka', 'Ngalengka', '08444555666', 'dasamuka@almaata.ac.id');

INSERT INTO pelanggan (id_pelanggan, nm_pelanggan, alamat, telepon, email) VALUES('UAA05', 'Ekalawya', 'Nishada', '08555666777', 'ekalawya@almaata.ac.id');

 






SELECT*FROM pelanggan;

INSERT INTO produk (id_produk, nm_pelanggan, alamat, telepon, email) VALUES(‘MIE01’, ‘Indomie Goreng’, ‘PCS’, ‘2000’, ‘100’);

INSERT INTO produk (id_produk, nm_pelanggan, alamat, telepon, email) VALUES(‘MIE02’, ‘Sarimi Goreng’, ‘PCS’, ‘1900’, ‘200’);

INSERT INTO produk (id_produk, nm_pelanggan, alamat, telepon, email) VALUES(‘ATK01’, ‘Pensil2B’, ‘PCS’, ‘5000’, ‘50’);

INSERT INTO produk (id_produk, nm_pelanggan, alamat, telepon, email) VALUES(‘ATK02’, ‘Bolpoin Standart’, ‘PCS’, ‘7500’, ‘100’);





INSERT INTO pesan (id_pelanggan, tgl_pesan) VALUES(‘UAA01’, ‘2020-10-28’);

INSERT INTO pesan (id_pelanggan, tgl_pesan) VALUES(‘UAA02’, ‘2020-10-29’);

INSERT INTO pesan (id_pelanggan, tgl_pesan) VALUES(‘UAA02’, ‘2020-10-30’);

INSERT INTO pesan (id_pelanggan, tgl_pesan) VALUES(‘UAA03’, ‘2020-10-31’);

INSERT INTO pesan (id_pelanggan, tgl_pesan) VALUES(‘UAA04’, ‘2020-10-31’);




 

INSERT INTO faktur VALUES('INV01', '1', '2020-10-28');

INSERT INTO faktur VALUES('INV02', '2', '2020-10-29');

INSERT INTO faktur VALUES('INV03', '3', '2020-10-30');

INSERT INTO faktur VALUES('INV04', '4', '2020-10-31');

 




SELECT*FROM faktur;





JOIN

Menggunakan where

1.    SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;

 


2.    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;



LEFT JOIN dan RIGHT JOIN

1.       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;

 


2.       SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;

 


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;

 

 


 

OK sekian Gan! Kalau ada kesalahan saya ucapkan mohon maaf yang sebesar-besarnya.

!!Terimakasih!!

Komentar

Postingan populer dari blog ini

KRIPTOGRAFI SIMETRIS DAN ASIMETRIS

BASIS DATA FUNCTION DAN STORED PROCEDURE