Aljabar Relational
Diketahui 3 tabel yang masing-masing berisi 15 data yang sudah berelasi sebagai berikut :
Tabel Mahasiswa
Tabel Matakuliah
Tabel Nilai
1. UNION
A. Tampilkan NIM, berapa kali nilai yang muncul dan total nilai per mahasiswa. NIM yang ditampilkan adalah '201391002'
B. Tampilkan NIM, berapa kali nilai yang muncul dan total nilai per mahasiswa. NIM yang ditampilkan adalah '201391005'
C. Dengan UNION tampilkan NIM, berapa kali nilai yang muncul dan total nilai per mahasiswa. NIM yang ditampilkan adalah '201391002' dan '201391005'
2. DISTINCT
Tampilkan nilai berdasarkan kode matakuliah, dengan menghilangkan data yang bernilai ganda.
3. JOINT
A. Dengan menggunakan sintax JOINT tampilkan nama matakuliah, SKS dan nilai
B. Tampilkan nama mahasiswa, kota dan nilai
C. Tampilkan nama matakuliah, nama mahasiswa dan nilai
Sub Query
Diketahui 3 tabel yang masing-masing sudah berisi data dan saling berelasi sebagai berikut :
Tabel Barang
Tabel Suplier
Tabel Pasok
1. Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
2. Tampilkan suplier yang paling besar jumlah pasoknya
3. Buatlah view dengan nama V_SUPLIER yang menampilkan nama suplier, alamat dan telepon. Suplier yang ditampilkan adalah yang berasal dari kota jakarta.
4. Buatlah view V_SUPLIER_SUPLAI yang menampilkan jumlah pembelian per suplier untuk tanggal tertentu, field yang ditampilkan adalah nama suplier, jumlah pasok, tanggal pasok. Tampilkan semua data yang ada pada view V_SUPLIER_SUPLAI.
5. Buatlah view V_JUM_PASOK yang yang menampilkan jumlah pasok per barang, per suplier, per tanggal tertentu. Field yang ditampilkan adalah nama barang, nama suplier, tanggal pasok dan jumlah pasok. Tampilkan semua data yang ada pada view V_JUM_PASOK.
"SUB QUERY & VIEW"
SUB QUERY
Sub query adalah query di dalam query, artinya seleksi data berdasarkan
dari hasil seleksi data yang telah ada.
SELECT field-1,…,field-n
FROM tabel
WHERE kriteria ( SELECT field-1,…,field-n
FROM tabel
WHERE kriteria );
Contoh :
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
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan
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
Dari ketiga tabel diatas tampilkan transaksi pembelian yang jumlahnya di atas rata-rata
Penyelesaian …
Tampilkan seluruh transaksi pembelian (tanggal pembelian dan jumlah pembelian).
SELECT tgl_pembelian, jum_pembelian FROM pembelian
Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
SELECT avg(jum_pembelian) as rata2_pembelian
FROM pembelian
Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
SELECT tgl_pembelian, jum_pembelian
FROM pembelian
WHERE jum_pembelian > (SELECT avg(jum_pembelian)
FROM pembelian)
VIEW
View merupakan tabel semu, artinya secara fisik data tidak tersimpan dalam basis data,
tetapi secara lojik dapat berfungsi seolah-olah sebagai tabel.
CREATE VIEW nama_view AS
SELECT field-1,…,field-n, aggregate function
FROM tabel-1,…, tabel-n
WHERE kriteria
GROUP BY field-1,…,field-n
HAVING kriteria_aggregate_function
ORDER BY field
Buat view bernama v_barang yang menampilkan nama barang dan stok barang.
CREATE VIEW v_barang as
SELECT nama_barang, stok_barang
FROM barang
Tampilkan semua data yang ada pada view v_barang.
SELECT *from v_barang
Tampilkan nama barang dari view v_barang.
SELECT nama_barang from v_barang
Hapuslah view v_barang.
DROP view v_barang
Tampilkan view v_barang (apakah yang terjadi?)
SELECT * from v_barang
LATIHAN
1. Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
2. Tampilkan pelanggan yang paling besar pembeliannya
3. Buatlah view dengan nama V_PELANGGAN yang menampilkan nama pelanggan,alamat
dan telepon. Pelanggan yang ditampilkan adalah yang berasal dari kota Jakarta.
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
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