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?)





15.38
Miftahur Rohman


0 komentar:
Posting Komentar