I. Dasar Teori
Fungsi agregasi atau disebut fungsi ringkasan digunakan untuk melakukan penghitungan sebuah nilai dari beberapa nilai input. Agregasi dapat digabungkan dengan sebuah parameter seperti where untuk menghasilkan suatu hasil yang lebih kompleks lagi.
1. Fungsi agregasi yang dapat digunakan adalah sebagai berikut :
Berikut query untuk fungsi agregasi :
Untuk pencarian banyaknya suatu data:
select count(*) from namatabel;
Untuk pencarian nilai terbesar berdasarkan sebuah kolom :
select max(namakolom) from namatabel;
Untuk pencarian nilai terkecil :
select min(namakolom) from namatabel;
Untuk pencarian rata-rata :
select avg(namakolom) from namatabel;
2. Group By
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah select. Group by seringkali diperlukan untuk menjalankan agregasi menjadi sebuah kelompok dari hasil query.
Berikut query untuk Group by :
Untuk penampilan data :
SELECT namakolom FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi dari sebuah kolom :
SELECT namakolom FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi sebuah kolom berdasarkan jumlah baris kolom lain :
SELECT namakolom, count(*) FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi jumlah total dari sebuah baris :
SELECT namakolom, sum(namakolomjumlah) AS TOTAL FROM namatabel GROUP BY namakolom;
3. Having
Pemakaian Having terkait dengan Group by, kegunaanya adalah untuk menentukan kondisi bagi Group By, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan.
Berikut query untuk Having :
SELECT namakolom, SUM (namakolomhitung) FROM namatabel GROUP BY namakolom HAVING SUM (namakolomhitung) kondisi;
4. Case
Meskipun SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat dengan bebas mengontrol data yang kembali dari query. Kata where menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan case perbandingan dalam bentuk output kolom. Jadi intinya penggunaan case akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.
Berikut query untuk Case :
SELECT namakolom1, namakolom2, namakolom3 CASE WHEN namakolom kondisi THEN 'hasil1' ELSE 'hasil2' END AS kolomtempathasil FROM namatabel ;
5. View
View dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh user tertentu. Satu lagi kelebihan yang dimiliki oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa.
CREATE VIEW namatabel VIEW AS QUERY;
NB : query diatas merupakan query untuk menampilkan data menggunakan query sql select.
Nah, itu tadi sekelumit intisari dari praktikum kali ini, untuk lebih jelasnya kita lihat pada hasil percobaan ya, seperti biasanya saya menggunakan perbandingan antara Postgre dan MySQL, cekidot :D
Pertama, kita siapkan 2 tabel yang memuat data sebagai berikut :
Selanjutnya, kita akan mencoba menggunakan operator fungsi agregasi dan kita cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya. Juga, kita coba tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12
Postgre :
MySQL :
Kali ini kita akan mencoba menggunakan CASE, kita akan mencoba menampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis Laki-laki dan bila “P” maka tertulis perempuan.
Postgre :
Secara garis besar diantara kedua DBMS ini memiliki query yang sama, kecuali beberapa poin berikut :
Postgre
Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya boleh atau tidak ada spasi setelah query avg.
MySQL
Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya kita tidak boleh ada spasi setelah query avg, jika ada maka hasilnya akan error.
IV. Kesimpulan
Berdasarkan apa yang telah kita pelajari pada praktikum ini kali ini. Maka dapat disimpulkan bahwa secara garis besar query yang terdapat di Postgre maupun MySQL tidak jauh berbeda. Dan dengan fungsi view maka akan mempermudah kita jika ingin menampilkan tabel berulang-ulang tanpa harus membuat query yang panjang dan bersifat tidak temporary.
select count(*) from namatabel;
Untuk pencarian nilai terbesar berdasarkan sebuah kolom :
select max(namakolom) from namatabel;
Untuk pencarian nilai terkecil :
select min(namakolom) from namatabel;
Untuk pencarian rata-rata :
select avg(namakolom) from namatabel;
2. Group By
Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah select. Group by seringkali diperlukan untuk menjalankan agregasi menjadi sebuah kelompok dari hasil query.
Berikut query untuk Group by :
Untuk penampilan data :
SELECT namakolom FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi dari sebuah kolom :
SELECT namakolom FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi sebuah kolom berdasarkan jumlah baris kolom lain :
SELECT namakolom, count(*) FROM namatabel GROUP BY namakolom;
Untuk menampilkan informasi jumlah total dari sebuah baris :
SELECT namakolom, sum(namakolomjumlah) AS TOTAL FROM namatabel GROUP BY namakolom;
3. Having
Pemakaian Having terkait dengan Group by, kegunaanya adalah untuk menentukan kondisi bagi Group By, dimana kelompok yang memenuhi kondisi saja yang akan di hasilkan.
Berikut query untuk Having :
SELECT namakolom, SUM (namakolomhitung) FROM namatabel GROUP BY namakolom HAVING SUM (namakolomhitung) kondisi;
4. Case
Meskipun SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya dapat dengan bebas mengontrol data yang kembali dari query. Kata where menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan case perbandingan dalam bentuk output kolom. Jadi intinya penggunaan case akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya.
Berikut query untuk Case :
SELECT namakolom1, namakolom2, namakolom3 CASE WHEN namakolom kondisi THEN 'hasil1' ELSE 'hasil2' END AS kolomtempathasil FROM namatabel ;
5. View
View dapat juga disebut tabel bayangan tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh user tertentu. Satu lagi kelebihan yang dimiliki oleh view yaitu dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel asli dan memilih kolom atau row tertentu dari tabel biasa.
CREATE VIEW namatabel VIEW AS QUERY;
NB : query diatas merupakan query untuk menampilkan data menggunakan query sql select.
Nah, itu tadi sekelumit intisari dari praktikum kali ini, untuk lebih jelasnya kita lihat pada hasil percobaan ya, seperti biasanya saya menggunakan perbandingan antara Postgre dan MySQL, cekidot :D
II. Hasil Percobaan
Pertama, kita siapkan 2 tabel yang memuat data sebagai berikut :
Selanjutnya, kita akan mencoba menggunakan operator fungsi agregasi dan kita cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya. Juga, kita coba tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12
Postgre :
MySQL :
Sekarang kita coba tampilkan jumlah mahasiswa berdasarkan fakultas, juga kita akan coba menampilkan dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.
Postgre :
MySQL
Kali ini kita akan mencoba menggunakan CASE, kita akan mencoba menampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis Laki-laki dan bila “P” maka tertulis perempuan.
Postgre :
MySQL
Terakhir untuk pertemuan kali ini, kita akan membuat view dimana akan menampilan data dari tabel mahasiswa, fakultas dan kita ambil berdasarkan nim, nama mahasiswa, nama fakultas.
Potgre :
MySQL
III. Perbandingan Postgre dan MySQL
Postgre
Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya boleh atau tidak ada spasi setelah query avg.
MySQL
Pada fungsi agregasi, seperti untuk mencari rata – rata, struktur query-nya kita tidak boleh ada spasi setelah query avg, jika ada maka hasilnya akan error.
IV. Kesimpulan
0 komentar:
Posting Komentar