AGREGATE and VIEW

Assalamu'alaikum Wr Wb

Salam Sejahtera, kembali lagi bertemu dengan saya pastinya Rofiqof alaways Happy :D yang akan terus berbagi tentang pemrograman SQL database dengan menggunakan DBMS MySQL. Ya sekarang kita akan berkenalan dengan AGREGATE dan Pembuatan VIEW pada MySQL. Langsung saja kita






DASAR TEORI 

Fungsi AGREGATE atau kadang disebut fungsi grup atau fungsi ringkasan, merupakan fungsi yang disediakan oleh SQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data. FUNGSI itu sendiri adalah sekumpulan instruksi yang menghasilkan sebuah nilai jika dipanggil. Adapun FUNGSI AGREGATE yang disediakan oleh SQL sebagai berikut :
  • Fungsi AVG
Fungsi AVG atau singkatan dari AVERAGE (English), berfungsi untuk memperoleh nilai rata-rata. Adapun syntaks atau penulisan query nya adalah sebagai berikut :

   mysql> SELECT AVG(nama_kolom) 
       -> FROM nama_tabel;


  • Fungsi COUNT
Fungsi Count berguna uantuk melakukan pencacahan terhadap data. Kalau tidak mengerti, fungsi nya adalah untuk mengetahui jumlah baris dari sebuah tabel. Atau banyaknya data yang telah diinput.
Dan query nya adalah sebagai berikut :

   mysql> SELECT COUNT(*) 
       -> FROM nama_tabel;

Tanda bintang (*) itu berarti untuk menghitung dari semua nama kolom, namun bisa juga kita merubahnya dengan pencarian berdasarkan nama kolom. Misal kita akan menghitung jumlah baris berdasarkan 'no_telp', 

   mysql> SELECT COUNT(no_telp) 
       -> FROM nama_table;

Akan tetapi hasilnya akan terlihat sama, mengapa? karena count akan menghitung jumlah baris semuanya walaupun di dalam kolom 'no_telp' ada sebagian yang tidak ada isinya, dia akan tetap akan memberikan nilai sebagai null atau kosong. Jadi COUNT(*) atau COUNT(nama_kolom) hasil nya akan sama.

  • Fungsi MAX
Fungsi ini berguna untuk mengetahui jumlah maximal dari sebuah nilai/data didalam kolom. Fungsi ini tidak hanya digunakan untuk nilai/data yang bertipe numeric dkk, tapi bisa juga digunakan untuk mengetahui tipe character dkk juga. Jadi kalau pada tipe numeric dkk akan menghasilkan output nilai terbesar dari suatu data/nilai didalam satu baris (berdasarkan nama kolom), maka akan muncul angka terbesar dari satu baris (dari nama kolom) itu. Dan jika digunakan pada character dkk akan menghasilkan output urutan huruf paling pertama ( berdasarkan dari A - Z). Misal terdapat data pada kolom nama SONY dan LAILA. Yang akan muncul pertama kali adalah LAILA kemudian SONY. 
Query nya adalah sebagai berikut : 

   mysql> SELECT MAX(nama_kolom) 
       -> FROM nama_tabel;

  • Fungsi MIN
Merupakan kebalikan dari fungsi MAX, yaitu untuk menghitung jumlah minimal dari suatu nilai/data yang ada di dalam kolom. Dan penjelasannya adalah kebalikan dari penjelasan fungsi MAX. Hehe :D

   mysql> SELECT MIN(nama_kolom) 
       -> FROM nama_tabel;

  • Fungsi SUM
Selanjutnya adalah SUM, digunakan untuk menghitung jumlah data. Berbeda dengan fungsi COUNT(*), SUM digunakan untuk menghitung jumlah data yang sama didalam didalam sebuah kolom. Didalam MySQL SUM juga bisa digunakan untuk type character.
Query umumnya adalah sebagai berikut : 

   mysql> SELECT SUM(nama_kolom) 
       -> FROM nama_tabel;

Atau 

   mysql> SELECT SUM(nama_kolom = [nilai]) 
       -> FROM nama_tabel;

  • Fungsi GROUP BY
Fungsi digunakan untuk melakukan pengelompokan hasil dari perintah SELECT. GROUP BY dapat digunakan diberbagai perintah SELECT. 
TIP : "Kolom-kolom yang anda sebutkan dalam SELECT dan tidak berada dalam fungsi AGREGATE haruslah disebutkan dalam klausa GROUP BY"
Query  untuk fungsi ini adalah

    mysql> SELECT [nama_kolom, .. ] 
        -> FROM nama_tabel 
        -> GROUP BY nama_kolom;


  • Fungsi HAVING
Fungsi ini masih ada kaitannya dengan GROUP BY dan fungsi ini hanya akan berjalan setelah terdapat fungsi GROUP BY. Fungsi ini berfungsi untuk menentukan kondisi bagi GROUP BY.

   mysql> SELECT [nama_kolom, ..] 
       -> FROM nama_tabel 
       -> GROUP BY nama_kolom 
       -> HAVING [kondisi];

  • Fungsi CASE
CASE digunakan untuk menentukan nilai keluaran/output data yang tidak sama dengan nama asalnya, misal ketika data aslinya adalah L, maka outputnya  adalah Laki-Laki, dan sebagainya sesuai yang kita inginkan. Hal ini sama dengan fungsi ' if  ' jika pada bahasa pemrograman JAVA, C, C++ atau bahasa pemrograman lain, yaitu untuk menentukan nilai dari suatu kondisi.

   mysql> CASE nama_kolom
       -> WHEN nilai_ekspresi
       -> THEN hasil_ekspresi
       -> [ELSE hasil_ekspresi]
       -> END AS nama_alias
       -> FROM nama_tabel;

Bentuk ini dapat dimanfaatkan untuk mengubah keluaran yang berbeda dengan data asalnya, atau jika ingin mengeluarkan data jika kondisi bernilai true.

  • Fungsi VIEW
Dalam fungsi ini kita akan membuat tabel pandangan(begitu kebanyakan orang bilang) yang berfungsi untuk membuat tabel kita sendiri yang bersumber dari tabel yang telah ada. 
Query umumnya adalah sebgai berikut :

    mysql> CREATE VIEW nama_view 
        -> AS SELECT [nama_kolom [as nama_kolom_view], ..] 
        -> FROM nama_tabel;

untuk melihat hasilnya :

    mysql> SELECT * FROM nama_view;

untuk menghapus :

    mysql> DROP VIEW nama_view;



HASIL PRAKTIKUM 

Pertama, untuk mencari nilai minimal dari tabel 'nim'



Kedua, nilai maximal


Ketiga, nilai rata-rata


Keempat, menentukan jumlah mahasiswa berdasarkan fakultas


Kelima, menentukan jumlah mahasiswa yang lebih dari 2 berdasarkan fakultas


Keenam, menentukan jumlah mahasiswa yang kurang dari 3 berdasarkan fakultas


Ketujuh, menentukan jenis kelamin jika 'L' tampilkan 'Laki-Laki' dan jika 'P' tampilkan 'Perempuan'


Kedelapan, view

membuat view


tabel bertambah dengan view


menampilkan hasil dari view



EVALUASI PERBEDAAN MySQL dan PostgreSQL

Dalam pertemuan kali ini saya mendapat satu perbedaan pada antara MySQL dengan PostgreSQL, yaitu pada fungsi SUM, pada MySQL dapat menjumlahkan data dengan type character. Misal jika ingin mengetahui jumlah 'gender' yang berdasarkan 'L' dan 'P', maka : 

data mahasiswa dan gender

jumlah laki-laki

jumlah perempuan


Tapi kalau di PostgreSQL hanya bisa menjumlahkan angka saja, tidak untuk menghitung data karakter. Contohnya adalah sebagai berikut :

Tampilan semua data

SUM tidak bisa menghitung data karakter

SUM hanya bisa digunakan untuk menghitung angka



KESIMPULAN

Berdasarkan perbedaan diatas, MySQL lebih nyaman dalam proses penghitungan data, baik angka walaupun teks.


SUMBER

Kadir, Abdul. 2002. Penuntun Praktis Belajar SQL. ANDI: Yogyakarta.

No comments

Powered by Blogger.