ADVANCE SQL 1
A. Tujuan
Mahasiswa mampu menggunakan select statements beserta options-nya untuk mencari, mengolah, dan menampilkan data yang ada di basis data sesuai dengan kebutuhannya.
B. Dasar Teori
v IN
Contoh:
· SELECT* FROM rekening WHERE kode_cabang IN (‘BRUM’, ‘BRUL’);
v NOT IN
Contoh:
· SELECT* FROM rekening WHERE kode_cabang NOT IN (‘BRUS’, ‘BRUM’);
v BETWEEN
Contoh:
· SELECT* FROM rekening WHERE saldo BETWEEN 500000 AND 1000000;
v NOT BETWEEN
Contoh:
· SELECT* FROM rekening WHERE saldo NOT BETWEEN 500000 AND 1000000;
v AGGREGATE FUNCTIONS
Fungsi-fungsi untuk aggregate:
· MIN( )
· Digunakan untuk mencari nilai terkecil dari sekumpulan record.
Contoh:
Ø SELECT MIN(saldo) FROM rekening;
· MAX( )
· Digunakan untuk mencari nilai terbesar dari sekumpulan record.
Contoh:
Ø SELECT MAX(saldo) FROM rekening;
· COUNT( )
· Digunakan untuk menghitung banyaknya record.
Contoh:
Ø SELECT COUNT(nama_nasabah) FROM nasabah;
· SUM( )
· Digunakan untuk menjumlahkan nilai-nilai dari sekumpulan record.
Contoh:
Ø SELECT SUM(saldo) FROM rekening;
· AVG( )
· Digunakan untuk menghitung rata-rata nilai dari sekumpulan record.
Contoh:
Ø SELECT AVG(saldo) FROM rekening;
v GROUP BY
· Digunakan untuk mengelompokkan sekumpulan record berdasarkan (kolom-kolom) tertentu.
Contoh:
- SELECT jenis_transaksi FROM transaksi GROUP BY jenis_transaksi;
v HAVING
· Merupakan pasangan dari GROUP BY, digunakan untuk membatasi kelompok yang ditampilkan:
- SELECT jenis_transaksi, tanggal FROM transaski GROUP BY jenis_transaksi, tanggal HAVING jenis_transaksi=’kredit’;
v GROUP BY dan AGGREGATE
· GROUP BY sangat cocok untuk aggregate functions. Dengan menggunakan GROUP BY, kita bisa mengelompokkan record-record dan menghitung min, max, count, sum dan avg untuk masing-masing kelompok.
Contoh:
- SELECT kode_cabang, MIN(saldo), MAX(saldo), COUNT(*), SUM(saldo), AVG(saldo) FROM rekening GROUP BY kode_cabang;
C. Alat dan Bahan
1. Komputer dengan sistem operasi Windows 7.
2. Program aplikasi PostgreSQL 9.3.
3. Modul Praktikum Sistem Basis Data.
D. Langkah Kerja
1. Jalankan program PostgreSQL 9.3 > PgAdmin III dan melakukan perintah sampai terhubung dengan database yang dibuat pada modul 4 yaitu Perbankan.
2. Tampilkan tanggal transaksi, jenis transaksi, dan jumlah transaksi untuk semua transaksi yang dilakukan oleh Sutopo dan Canka Lokananta dan diurutkan berdasarkan tanggal transaksi dengan kode berikut:
Ø SELECT transaksi.tanggal, transaksi.jenis_transaksi, transaksi.jumlah FROM nasabah, transaksi WHERE nasabah.id_nasabah=transaksi.id_nasabahFK AND nasabah.nama_nasabah IN (‘Sutopo’, ‘Canka Lokananta’) ORDER BY transaksi.tanggal;
3. Tampilkan tanggal transaksi, nama nasabah, jenis transaksi, dan jumlah transaksi untuk semua transaksi yang terjadi dari 15 November sampai 20 November 2009 dan diurutkan berdasarkan tanggal transaksi dan nama nasabah dengan kode berikut:
Ø SELECT transaksi.tanggal, nasabah.nama_nasabah, transaksi.jenis_transaksi, transaksi.jumlah FROM nasabah, transaksi WHERE transaksi.tanggal BETWEEN ‘2009-11-15’ AND ‘2009-11-20’ AND nasabah.id_nasabah=transaksi.id_nasabahFK ORDER BY transaksi.tanggal, nasabah.nama_nasabah;
4. Tampilkan jenis transaksi dan total jumlah transaksi (dalam rupiah) untuk tiap jenis transaksi dan diurutkan berdasarkan jenis transaksi dengan kode berikut:
Ø SELECT transaksi.jenis_transaksi AS “Jenis Transaksi”, SUM(jumlah) AS “Jumlah (Rp)” FROM transaksi GROUP BY transaksi.jenis_transaksi ORDER BY transaksi.jenis_transaksi;
5. Tampilkan jenis transaksi, jumlah transaksi yang terbesar serta yang terkecil untuk tiap jenis transaksi dan diurutkan berdasarkan jenis transaksi dengan kode berikut:
Ø SELECT jenis_transaksi AS “Jenis Transaksi”, MAX(jumlah) AS “Transaksi Terbesar”, MIN(jumlah) AS “Transaksi Terkecil” FROM transaksi GROUP BY transaksi.jenis_transaksi ORDER BY transaksi.jenis_transaksi;
6. Tampilkan jenis transaksi, total jumlah transaksi (dalam rupiah), dan banyaknya transaksi yang tercatat untuk tiap jenis transaksi yang terjadi sebelum bulan Desember 2009 dan diurutkan berdasarkan jenis transaksi dengan kode berikut:
Ø SELECT jenis_transaksi AS “Jenis Transaksi”, SUM(jumlah) AS “Jumlah (Rp)”, COUNT(jumlah) AS “Jumlah Transaksi” FROM transaksi WHERE tanggal between ‘2009-11-1’ AND ‘2009-11-30’ GROUP BY transaksi.jenis_transaksi ORDER BY transaksi.jenis_transaksi;
E. Analisa
Dari praktikum di atas, dapat saya tarik kesimpulan bahwa untuk menampilkan record-record tertentu ada beberapa alternatif perintah yang digunakan. Jadi, kita bisa memilih perintah mana yang akan digunakan tergantung kebutuhan dan efektivitas.
F. Tugas
1. Tampilkan jenis transaksi, jumlah transaksi dalam Rp dan total transaksi untuk nasabah yang bernama akhiran ‘Kartika Padmasari’ untuk masing-masing jenis transaksi!
2. Berapa jumlah total saldo yang dimiliki oleh Maryati?
Tidak ada komentar:
Posting Komentar