Agus Luqmanul
Khakim
13650128
Laporan
Modul V
AGREGASI SQL
DAN VIEW
HAEE GAEESSS.,
ketemulagi dengan kaka yaaa., hee
Kali ini
kita akan membahas tentang AGREGASI SQL DAN VIEW semoga ngga
nagntuk yaa
Dengan agregasi ini di harap kita dapat memahami operator
agregasi sql sehingga mempermudah dalam hal perhitungan data. serta memahami cara penggunaan
view.
1.
Agregasi
Agregasi dalam
SQL merupakan proses untuk mendapatkan nilai dari sekumpulan data yang telah
dikelompokkan. Pengelompokan data didasarkan pada kolom atau kombinasi kolom yang dipilih.
Beberapa fungsi untuk agregasi adalah:
dikelompokkan. Pengelompokan data didasarkan pada kolom atau kombinasi kolom yang dipilih.
Beberapa fungsi untuk agregasi adalah:
- MAX : mencari data terbesar dari sekelompok data
- MIN : mencari data terkecil dari sekelompok data
- COUNT : mencari cacah data (data NULL tidak akan dimasukkan dalam perhitungan,kecuali disebutkan secara khusus)
- SUM : mencari jumlah dari sekumpulan data numeris
- AVG : mencari rerata dari sekumpulan data numeris
SELECT [daftar-kolom-non-agregasi,] daftar-kolom-agregasi
FROM daftar-tabel
[WHERE kondisi-record-dalam-tabel]
[GROUP BY daftar-kolom-agregasi]
[HAVING kodisi-filter-hasil-agregasi]
[ORDER BY daftar-kolom-pengurutan]
2. GROUP BY
Group By merupakan fungsi yang digunakan untuk melakukan
pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk
menjalankan agregate menjadi sebuah kelompok dari hasil Query. Berikut
struktur SQL untuk penampilan data :
select
nama_kolom from nama_tabel group by nama_kolom;
3. Having
Having digunakan untuk menyaring data
berdasarkan fungsi kelompok. Hal ini mirip dengan kondisi Where tetapi
digunakan dengan fungsi kelompok, fungsi kelompok tidak dapat digunakan dalam
mana klausul tetapi dapat digunakan dalam klausa having. Contoh : Jika ingin
memilih fakultas yang jumlah mahhasiswanya lebih atau sama dengan 2, maka
querinya adalah sebagai berikut :
select
nama_fakultas, count (*) from mahasiswa, fakultas where mahasiswa.id_fakultas =
fakultas.id_fakultas group by nama_fakultas having count (gender) >= 2;
4. Case
Kata Where
menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan case
perbandingan dalam bentuk output kolom. Jadi intinya penggunaan Case akan
membentuk output sendiri berupa sebuah kolom baru dengan data dari operasi yang
didalamnya. structur di dalam select sebagai berikut :
CASE WHEN
condition THEN result when ............ ELSE result END
Berikut query
penggunaan case, penentuan umur jika umurnya dibawah 1986-01-01 dianggap
dewasa dan lebih dari itu dianggap remaja:
select
txt_namadepan,tgl_lahir, case when tgl_lahir < '1986-01-01' then dewasa else
'balita' end as umur from pegawai :
5. View
view merupakan
tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau
view lain. SQL view tidak memiliki data sendiri, tetapi data-datanya berasal
dari tabel-tabel atau view lain. sql view dibuat atau dibangun dengan select
statement. Didalam query select tersebut kita bisa menambahkan ordey by
statement untuk mengurutkan data atau tidak sama sekali. SQL view dapat digunakan
untuk memudahkan atau menyederhanakan data yang ditampilkan, mencegah
menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Kegunaan View
Antara lain :
- Menyembunyikan Kolom atau Baris
- Menampilkan Hasil dari perhitungan
- Menyembunyikan Sintak SQL yang rumit
- Fungsi Built-in Layer
- Menyediakan Level Isolasi antara data tabel dan view data pengguna
- Memberikan Proses Permission yang berbeda untuk view yang berbeda dari tabel yang sama
Membuat View :
create view
nama_view as select (nama) as nama_view from tabel;
Berikut
adalah tabel contoh kasus penggunaan View :
Kita akan
membuat view dari tabel diatas dengan ketentuan harga dikumpulkan berdasarkan
nama pelanggannya. Sebagai Berikut :
create view
total_pelanggan as select pelanggan, sum (hargaorder) from pesanan group by
pelanggan;
Untuk bisa
melihat hasil, kita bisa menggunakan query select :
select * from
total_pelanggan;
Maka,Hasilnya
yaitu :
1. Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi ,
tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data
mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang
paling kecil, paling besar dan rata-ratanya.


2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya
lebih dari 12.
3. Tampilkan jumlah
mahasiswa berdasarkan fakultas.
4. Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa
yang lebih dari sama dengan 2 saja yang ditampilkan.
5. Tampilkan data mahasiswa dengan persyaratan, jika jenis
kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.
6. Buatlah view untuk
query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama
mahasiswa, nama fakultas.
Pebandingan PostgreeSQL dan MYSQL
untuk perbandingan postgree dan mysql tidak ada bedanya dalam query melainkan hanya titik koma di akhir yang mengharuskan pengguna postgree harus berhati-hati dan teliti. jadi kita ngga usah bingung karna pada dasarnya sama.
* Kritik dan Saran
Dalam belajar database kita seharusnya banyak-banayak menbaca dan mempraktekkan dan berlatih karna apabila ilmu tidak di asah akan hilang sebagaimana pisau "setajam apapun pisau akan tiba pada saatnya pisau itu tumpul"
* Manfaat
semoga dengan membaca coretan ini pembaca dapat menambah ilmu meskipun hanya sedikit, karna tanpa sedikit tidak akan jadi banyakk :) ., dan semoga dengan ini kita dapat mngetahui danmengolah data base dengan baik., untuk saya sendiri dengan menulis ini setidaknya membantu saya kembali mengingat pelajaran.,.
Daftar Pustaka
- http://beginner-sql-tutorial.com/id/sql.htm
- http://teropong21.blogspot.com/2012/03/agregasi-database.html
- Modul V praktikum desain basis data
- http://www.java2s.com/Code/SQL/Aggregate-Functions/AVG.htm










Tidak ada komentar:
Posting Komentar