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
Posting Komentar