Jika diketahui terdapat beberapa table berikut :
1. Tabel_Barang
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20) dan
stok int,
primary key : kode_barang
Kode_barang Nama_Barang Satuan Stok
ELK-01 Rice cooker Buah 20
ELK-02 Lemari es Unit 8
ELK-03 Televisi Unit 30
ELK-04 Radio/tape Buah 35
CREATE TABLE Barang (
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20),
stok int,
constraint pk_Barang primary key (kode_barang)
);
INSERT INTO Barang
VALUES ('ELK-01','Rice Cooker','Buah',20);
INSERT INTO Barang
VALUES ('ELK-02','Lemari Es','Unit',8);
INSERT INTO Barang
VALUES ('ELK-03','Televisi','Unit',30);
INSERT INTO Barang
VALUES ('ELK-04','Radio/tape','Buah',35);
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan
Kode_Pelanggan Nama Alamat Kota Telepon
J-0001 Toko Karisma Jl cimandiri 25 Depok (021)-367868
J-0002 Toko Ayu Jl cimone 35 Tangerang (021)-467889
B-0001 Toko Warna Jl DEF 30 Jakarta (021)-234678
B-0002 Toko Surya Jl abc 309 Bandung (022)-356789
CREATE TABLE Pelanggan (
Kode_Pelanggan char(6),
Nama varchar(30),
Alamat varchar(30),
Kota varchar(15),
telepon varchar(15),
constraint pk_Pelanggan primary key (Kode_Pelanggan)
);
INSERT INTO Pelanggan
VALUES ('J-0001','Toko Karisma','Jl.Cimandiri 25','Depok','(021)-367868');
INSERT INTO Pelanggan
VALUES ('J-0002','Toko Ayu','Jl.Cimone 35','Tanggerang','(021)-467889');
INSERT INTO Pelanggan
VALUES ('B-0001','Toko Warna','Jl.DEF 30','Jakarta','(021)-234678’);
INSERT INTO Pelanggan
VALUES ('B-0002','Toko Surya ','Jl.abc 309','Bandung','(022)-356789)';
3. Tabel Pembelian
kode_pembelian char(10) ,kode_barang char(6),
kode_pelanggan char(6), tgl_pembelian datetime,
jum_pembelian int.
Primary key : kode_pembelian,kode_barang,kode_pelanggan
Foreign key : kode_barang, kode_Pelanggan
Kode_Pembelian Kode_Barang Kode_Pelanggan Tgl_Pembelian Jum_Pembelian
BEL-E001 ELK-01 J-0001 20-may-02 3
BEL-E002 ELK-02 J-0001 21-may-02 4
BEL-E003 ELK-01 J-0002 20-may-02 2
BEL-E004 ELK-01 B-0001 20-may-02 2
BEL-E005 ELK-03 B-0002 22-may-02 3
BEL-E006 ELK-02 J-0001 24-jun-02 1
create table pembelian (
kode_pembelian char(10),
kode_barang char(6),
kode_pelanggan char(6),
tgl_pembelian date,
jum_pembelian int,
constraint pk_pembelian primary key (kode_pembelian),
constraint fk_kode_barang foreign key (kode_barang) references barang (kode_barang),
constraint fk_kode_pelanggan foreign key (kode_pelanggan) references pelanggan ( (kode_pelanggan)
);
insert into pembelian
values ('bel-e001','elk-01','j-0001','20-05-02',3);
insert into pembelian
values ('bel-e002','elk-02','j-0001','21-05-02',4);
insert into pembelian
values ('bel-e003','elk-01','j-0002','20-05-02',2);
insert into pembelian
values ('bel-e004','elk-01','b-0001','20-05-02',2);
insert into pembelian
values ('bel-e005','elk-03','b-0002','22-05-02',3);
insert into pembelian
values ('bel-e006','elk-02','j-0001','24-05-02',1);
1. Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
2. Tampilkan pelanggan yang paling besar pembeliannya
SELECT nama_barang FROM Barang
WHERE stok <(SELECT avg(stok)
FROM Barang)
SELECT Nama
FROM Pembelian,Pelanggan
WHERE jum_pembelian = (SELECT MAX(jum_pembelian)FROM Pembelian)
AND Pelanggan.Kode_Pelanggan = Pembelian.kode_Pembelian
3. Buatlah view dengan nama V_PELANGGAN yang menampilkan nama
pelanggan,alamat dan telepon. Pelanggan yang ditampilkan adalah
yang berasal dari kota Jakarta.
CREATE VIEW v_PELANGGAN as
SELECT Nama,Alamat,telepon
FROM Pelanggan
WHERE Kota = 'Jakarta'
SELECT * from v_PELANGGAN
4. Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per
pelanggan untuk tanggal tertentu. Field yang ditampilkan adalah
nama pelanggan jumlah pembelian, tanggal pembelian. Tampilkan
semua data yang ada pada view V_PLGN_BELI
CREATE VIEW v_plgn_beli as
SELECT Nama,jum_pembelian,tgl_pembelian
FROM Pelanggan,Pembelian
SELECT * from v_plgn_beli
5. Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang
per pelanggan per tanggal tertentu. Field yang ditampilkan adalah
nama barang, nama pelanggan, tanggal pembelian,dan jumlah
pembelian.Tampilkan semua data yang ada pada view V_JUM_BELI
CREATE VIEW v_jum_beli as
SELECT nama_barang,Nama,tgl_pembelian,jum_pembelian
FROM Barang,Pelanggan,Pembelian
SELECT * from v_jum_beli
Tidak ada komentar:
Posting Komentar