KODE CHATBOX

Powered by : Rumah Technology

4.01.2012

BAB 5


Tujuan:
1.     Menggunakan Bahasa SQL dengan dua tabel atau lebih
1.     Mengenal dan Menggunakan Fungsi Agregat
2.     Mengelompokan dan Mengurutkan Tabel
3.     Membatasi hasil Query

Fungsi Agregat
Fungsi agregat merupakan fungsi yang disediakan oleh SQL untuk melakukan ringkasan data, bukan menampilkan data per record.
a. sum(nama_field)
Fungsi sum() digunakan untuk melakukan penjumlahan isi field yang bertipe numerik yang namanya disebutkan pada namafield yang dijadikan parameter pada fungsi sum().

select sum(thn_terbit) from judul_buku;
+-----------------+
| sum(thn_terbit) |
+-----------------+
|           14020 |
+-----------------+

Perintah diatas digunakan untuk menampilkan jumlah dari tahun terbit yang ada pad tabel judul_buku. (masa..., tahun kok dijumlahkan??? ya... itu merupakan contoh perintah yang benar, jika dijalankan tidak muncul peringatan salah. Tapi merupakan perintah yang salah penggunaannya. Sekali lagi ini hanya contoh saja. Tetapi ini jangan diamalkan dalam kehidupan nyata. Masih banyak amalan yang lain, yang amalan itu merupakan amalan yang sunnah atau baik, tapi penempatannya tidak benar. Kita harus hati-hati dengan hal ini... ????? :)).

b. count(nama_field)
Fungsi ini dimaksudkan untuk mengetahui jumlah record dari suatu tabel, berdasarkan kondisi yang disertakan. Jika kondisi tidak ditulis, maka akan ditampilkan jumlah (semua) record dari tabel. Parameter yang disertakan bisa berupa nama field boleh juga diganti dengan tanda *.
Untuk mengetahui jumlah anggota yang terdaftar, maka kita bisamenggunakan perintah berikut ini:

select count(*) from anggota;

c. avg(nama_field)
Fungsi ini dipakai untuk memperoleh nilai rata-rata suatu field yang bertipe numerik yang nama fieldnya disebutkan sebagai parameter.

d. max(nama_field)
Dengan menggunakan fungsi max, kita akan mendapatkan nilai terbesar dari field yang bertipe numerik, yang nama fieldnya dituliskan dalam parameter. Kebalikan dari fungsi ini adalah min(nama_field).
Kalau kita ingin mengetahui tanggal lahir anggota yang termuda, maka kita bisa menggunakan perintah:

select max(tgllahir) from anggota;
Sedangkan tgllahir anggota yang tertua, perintahnya:

select min(tgllahir) from anggota;

Kalau hanya seperti itu..., hanya muncul tanggalnya saja, kalau pingin tahu siapa namanya gimana? Sabar dulu... itu nanti... Bukankah Nabi Yakub telah bersabar dalam menghadapi putra-putranya? Bukankah Nabi Yusuf pun telah bersabar untuk menghadapai berbagai cobaan? Mulai dari perlakuan saudara-saudaranya, cobaan dengan seorang wanita, dan cobaan akan kekuasaan. Maaf, ini hanya selingan saja....

Mengelompokan dan Mengurutkan Data
a. Group By
Untuk mengelompokkan data, kita bisa menggunakan perintah group by. Misalnya kita pingin mengetahui anggota dari perpustakaan ini lahirnya dimana saja sih? Maka kita bisa menggunakan perintah:

select tmp_lahir from anggota;

tapi semua kota tampil dan ada yang berulang. Nah untuk mengatasinya, perintahkan:

select tmp_lahir from anggota group by tmp_lahir;

Sekarang akan ditampilkan Jumlah anggota dari tiap-tiap sekolah.

select sekolah,count(*) from anggota group by sekolah;
+--------------------+----------+
| sekolah            | count(*) |
+--------------------+----------+
| MoEHa Punya        |        1 |
| MTsN 2 Yk          |        1 |
| SD Muhamadiyah     |        1 |
| SMP 16 Yk          |        1 |
| SMPN 10 Yk         |        1 |
| SMPN 2 Yk          |        1 |
| STMIK El Rahma     |        6 |
| UAD                |        2 |
| UGM                |        1 |
| UIN Sunan Kalijaga |        1 |
| UNY                |        1 |
| UST                |        1 |
| UWM                |        1 |
+--------------------+----------+

Tampilkan jumlah anggota dikelompokkan berdasarkan tempat lahirnya.

Mengurutkan Data
Order By adalah solusi yang bisa kita gunakan untuk mengurutkan data.
Misalkan kita akan menampilkan data anggota urut berdasarkan nama:

select nama_anggota,tmp_lahir,tgllahir from anggota order by nama_anggota;

Untuk mengurutkan berdasarkan tanggal lahir, caranya:

select nama_anggota,tmp_lahir,tgllahir from anggota order by tgllahir;

Mengurutkan data anggota berdasarkan dua kriteria, tmp_lahir dan nama

select nama_anggota,tmp_lahir from anggota order by tmp_lahir, nama_anggota;
Untuk mengurutkan secara turun(descending) defaultnya urut naik (ascending).

select nama_anggota,tmp_lahir,tgllahir from anggota order by tgllahir desc;

Menggabungkan Antara Fungsi Agregat, Pengelompokan dan Pengurutan

Menampilkan data jumlah anggota tiap-tiap kota tempat lahir urut dari jumlah terkecil sampai terbesar dan urut berdasarkan nama kota tempat lahir:

select tmp_lahir,count(nama_anggota) as jumlah from anggota group by tmp_lahir order by jumlah,tmp_lahir;
+------------+--------+
| tmp_lahir  | jumlah |
+------------+--------+
| Cilacap    |      1 |
| Kebumen    |      1 |
| Ngawi      |      1 |
| Wakai      |      1 |
| Kudus      |      2 |
| Yogyakarta |     13 |
+------------+--------+

Menambahkan parameter limit

Menampilkan 5 data pertama

select kd_anggota,nama_anggota from anggota limit 5;

Menampilkan data mulai data ke 12 (setelah data ke 11) sampai data ke 17 (sebanyak 5 data)

select kd_anggota,nama_anggota from anggota limit 11,5;
Coba jalankan perintah berikut:

select nama_anggota,tgllahir from anggota order by tgllahir limit 1;
select nama_anggota,tgllahir from anggota order by tgllahir desc limit 1;

(Adakah suatu permasalahan yang sudah terselesaikan?)

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Hosting