LAPORAN HASIL PRAKTIKUM MOD Data Manipulation Language (DML) Join,Union,Grouping
Join Tabel
Transcript of Join Tabel
Buatlah tabel KategoriBuatlah tabel Kategori
CREATE TABLE KATEGORI(KODE_KATEGORI VARCHAR (8)
PRIMARY KEY,NAMA_KATEGORI VARCHAR (20)
)
Buatlah tabel barang dan Buatlah tabel barang dan hubungkan dengan tabel hubungkan dengan tabel kategorikategoriCREATE TABLE BARANG(
KODE_BARANG VARCHAR(8) PRIMARY KEY,
NAMA VARCHAR (20),QTY INT,KD_KATEGORI VARCHAR (8),HARGA INT
CONSTRAINT FK_KODE_KATEGORI FOREIGN KEY(KD_KATEGORI)REFERENCES KATEGORI(KODE_KATEGORI))
Buatlah tabel transaksi dan Buatlah tabel transaksi dan hubungkan dengan tabel hubungkan dengan tabel barangbarangCREATE TABLE TRANSAKSI(
NO_TRANSAKSI INT PRIMARY KEY,TGL VARCHAR (20),KODE_BARANG VARCHAR(8),TOTAL INT,
CONSTRAINT FK_KODE_BARANG FOREIGN KEY(KODE_BARANG)
REFERENCES BARANG(KODE_BARANG))
isi tabel kategoriisi tabel kategoriINSERT INTO KATEGORI VALUES
('K0001','MURAH')INSERT INTO KATEGORI VALUES
('K0002','MAHAL')INSERT INTO KATEGORI VALUES
('K0003','TERJANGKAU')INSERT INTO KATEGORI VALUES
('K0006','ISTIMEWA')INSERT INTO KATEGORI VALUES
('K0007','BIASA')INSERT INTO KATEGORI VALUES
('K0008','SPEKTAKULER')
Isi tabel barangIsi tabel barangINSERT INTO BARANG VALUES
('BRG01','MONITOR',10,'K0002',1000000)INSERT INTO BARANG VALUES
('BRG02','NOTEBOOK',20,'K0002',6500000)
INSERT INTO BARANG VALUES ('BRG03','SOUND CARD',13,'K0001',450000)
INSERT INTO BARANG VALUES ('BRG04','VGA CARD',24,'K0003',725000)
INSERT INTO BARANG VALUES ('BRG05','FLASDISK',32,'K0001',150000)
Isi tabel barangIsi tabel barangINSERT INTO BARANG VALUES
('BRG06','MOTHERBOARD',9,'K0002',1250000)
INSERT INTO BARANG VALUES ('BRG07','MEMORY',19,'K0001',350000)
INSERT INTO BARANG VALUES ('BRG08','HARDISK',38,'K0003',775000)
INSERT INTO BARANG VALUES ('BRG09','MOUSE',20,NULL,100000)
INSERT INTO BARANG VALUES ('BRG010','KEYBOARD',50,NULL,150000)
INSERT INTO BARANG VALUES ('BRG011','SPEAKER',15,NULL,300000)
Isi tabel transaksiIsi tabel transaksiINSERT INTO TRANSAKSI VALUES
(1,'12/11/2007','BRG01',2000000)INSERT INTO TRANSAKSI VALUES
(2,'30/11/2007','BRG03',3500000)INSERT INTO TRANSAKSI VALUES
(3,'24/11/2007','BRG02',1550000)INSERT INTO TRANSAKSI VALUES
(4,'01/12/2007','BRG07',6000000)
Isi tabel transaksiIsi tabel transaksiINSERT INTO TRANSAKSI VALUES
(5,'07/12/2007','BRG08',4500000)INSERT INTO TRANSAKSI VALUES
(6,'17/12/2007','BRG04',3000000)INSERT INTO TRANSAKSI VALUES
(7,'01/12/2007','BRG08',4500000)INSERT INTO TRANSAKSI VALUES
(8,'07/12/2007','BRG04',3000000)
I Wayan Budi Sentana,ST
JOINJOINJoin adalah teknik yang digunakan
untuk mengakses lebih dari satu tabel dan menggabungkan hasilnya
Perhatikan tabel yang terbentuk jika anda mengeksekusi perintah berikut :◦SELECT * FROM KATEGORI◦SELECT * FROM BARANG◦SELECT * FROM TRANSAKSI
INNER JOININNER JOINinner join paling sering digunakan
dalam menggabungkan dua ataupun lebih table.
Select kolom,kolom,kolom from table1,table2 where kolom yang sama.table1=kolom yang sama.table2
Inner join mempunyai dua Inner join mempunyai dua jenis secara umum yaitu : jenis secara umum yaitu :
a. Tanpa alias Tanpa alias disini diartikan bahwa
nama table tidak dialiaskan atau tetap disebut secara panjang. Contoh :
SELECT KATEGORI.NAMA_KATEGORI, BARANG.NAMA
FROM KATEGORI,BARANGWHERE BARANG.KD_KATEGORI =
KATEGORI.KODE_KATEGORI
Lanjutan…Lanjutan…b. Dengan alias Disini nama table diberikan alias atau
singkatan sesuai dengan huruf depan dari nama table tersebut. Contoh table Barang diberi inisial/alias B, supplier inisialnya S, dan lain sebagainya. Cara penggunaannya sama seperti tanpa alias, sebagai contoh :
SELECT K.NAMA_KATEGORI, B.NAMAFROM KATEGORI K ,BARANG BWHERE B.KD_KATEGORI =
K.KODE_KATEGORI
INNER JOIN --> ONE TO INNER JOIN --> ONE TO ONEONESELECT K.NAMA_KATEGORI,
B.NAMA,(B.QTY*B.HARGA)AS TOTAL
FROM BARANG B INNER JOIN KATEGORI K
ON B.KD_KATEGORI = K.KODE_KATEGORI
ORDER BY K.NAMA_KATEGORI
OUTER JOIN (LEFT) --> ONE OUTER JOIN (LEFT) --> ONE TO MANYTO MANYSELECT K.NAMA_KATEGORI,
B.NAMA,(B.QTY*B.HARGA)AS TOTAL
FROM KATEGORI K LEFT JOIN BARANG B
ON B.KD_KATEGORI = K.KODE_KATEGORI
ORDER BY K.NAMA_KATEGORI
OUTER JOIN (RIGHT) --> OUTER JOIN (RIGHT) --> MANY TO ONEMANY TO ONESELECT K.NAMA_KATEGORI,
B.NAMA,(B.QTY*B.HARGA)AS TOTAL
FROM KATEGORI K RIGHT JOIN BARANG B
ON B.KD_KATEGORI = K.KODE_KATEGORI
ORDER BY K.NAMA_KATEGORI
OUTER JOIN (FULL) --> OUTER JOIN (FULL) --> MANY TO MANYMANY TO MANYSELECT K.NAMA_KATEGORI,
B.NAMA,(B.QTY*B.HARGA)AS TOTAL
FROM KATEGORI K FULL JOIN BARANG B
ON B.KD_KATEGORI = K.KODE_KATEGORI
ORDER BY K.NAMA_KATEGORI
crosscross
SELECT K.NAMA_KATEGORI, B.NAMA,(B.QTY*B.HARGA)AS TOTAL
FROM KATEGORI K CROSS JOIN BARANG B
ORDER BY K.NAMA_KATEGORI