Anda di halaman 1dari 5

MODUL 3

PENGELOMPOKAN, PENGURUTAN, KRITERIA DATA,


AGREGASI
TUJUAN PRAKTIKUM
1.
2.
3.
4.

Praktikan mampu memahami statement SQL untuk pengelompokan data


Praktikan mampu memahami statement SQL untuk pengurutan data
Praktikan mampu memahami statement SQL mengenai kriteria data
Praktikan mampu memahami statement SQL mengenai agregasi

PERLENGKAPAN PRAKTIKUM
1. Modul Praktikum Basis Data
2. MySQL 5.5.27 (Apache 2.4.3)
3. Browser
4. Navicat Premium

MATERI PRAKTIKUM
Pada praktikum kali ini akan dibahas tiga materi pokok yaitu pengelompokan, pengurutan
dan kriteria data. Semua materi itu akan berhubungan erat dengan SQL.
1. Pengelompokan data (Group By) dan Aggregate Function
Dalam suatu kasus kita seringkali diminta menyeleksi data berdasarkan kelompok data
tertentu. Untuk menyelesaikan masala h itu, kita dapat menggunakan sintak Group By.
Pengelompokkan ini biasanya disertai denganAggregate Function. Beberapa contoh
Aggregate Function yang dimaksud adalah fungsi matematik berikut ini :
MIN
Untuk mencari nilai minimum dari suatu data. Sintaknya adalah sebagai berikut :
SELECT field-1,..,field-n ,MIN(nama_field)
FROM nama_tabel
GROUP BY field-1,..,field-n
MAX
1

Untuk mencari nilai maksimum dari suatu data. Sintaknya adalah sebagai berikut:
SELECT field-1,..,field-n ,MAX(nama_field)
FROM nama_tabel
GROUP BY field-1,..,field-n
AVG
Untuk mencari nilai rata-rata dari suatu data. Sintaknya adalah sebagai berikut:
SELECT field-1,..,field-n ,AVG(nama_field)
FROM nama_tabel
GROUP BY field-1,..,field-n
SUM
Untuk mencari jumlah dari suatu data. Sintaknya adalah sebagai berikut :
SELECT field-1,..,field-n ,SUM(nama_field)
FROM nama_tabel
GROUP BY field-1,..,field-n
COUNT
Untuk mencari cacah atau banyaknya suatu data.
SELECT field-1,..,field-n ,COUNT(nama_field)
FROM nama_tabel
GROUP BY field-1,..,field-n

2. Pengurutan data (Order By)


Pengurutan Data digunakan untuk menampilkan data berdasarkan urutan tertentu
(Abjad maupunpun angka). Sintaknya adalah sebagai berikut :
SELECT field-1,..,field-n
FROM nama_tabel
ORDER BY nama_field
Secara default pengurutan akan dilakukan secara ascending (A-Z), untuk melakukan
pengurutan secara descending (Z-A) maka tambahkan keyword DESC setelah ORDER
BY.
3. Kriteria Data
Maksud dari kriteria data adalah menampilkan data yang memenuhi kriteria yang
telah kita tentukan. Untuk dapat mendapatkan kriteria ini oracle telah
mendifinisakn dua keyword untuk dipakai, yaitu having dan where.
HAVING

Kriteria dengan having biasanya dipakai untuk menyeleksi data berdasarkan


fungsi aggregate tertentu (min, max, avg, sum, count). Sintak SQL nya adalah
sebagai berikut :
SELECT field-1,,field-n
FROM nama_tabel
GROUP BY field-1,,field-n
HAVING kriteria fungsi agregate
WHERE
Kriteria dengan Where biasanya dipakai untuk menyeleksi data berdasarkan
comparison (=,<>,<,>,<=,>=), between, in, like/not like, is null/ is not null.
COMPARISON
Comparison berfungsi untuk membandingkan nilai dari dua buah data. Tipe
data yang dibandingkan harus lah sesuai. Sintak SQL nya adalah sebagai
berikut :

SELECT field-1,,field-n
FROM nama_tabel
WHERE field >/</<>/=/>=/<= =
BETWEENAND
Between digunakan untuk menampilkan data yang berada pada range nilai
tertentu. Sintak SQL nya adalah sebagai berikut :
SELECT field-1,,field-n
FROM nama_tabel
WHERE field BETWEEN AND
LIKE/NO LIKE
LIKE/NOT LIKE digunakan untuk membandingkan data dengan pola
tertentu. Jika membandingkan satu karakter digunakan underscore (_),
sedangkan untuk membandingkan string digunakan persen (%).Sintak SQL
nya adalah sebagai berikut :
SELECT field-1,,field-n
FROM nama_tabel
WHERE field LIKE/NOT LIKE .
IN
IN digunakan untuk menampilkan data yang nilai ada pada suatu
himpunan tertentu. Sintak SQL nya adalah sebagai berikut :
SELECT field-1,,field-n
FROM nama_tabel
WHERE field IN ( , , )
3

PRAKTIKUM

Contoh penggunaan syntax


1. Penggunaan aggregate function
a. SUM
Untuk menampilkan jumlah lama rental setiap id mobil
SELECT id_mobil, sum( lama_rental )
FROM tb_transaksi
GROUP BY id_mobil
b. AVG
Untuk menampilkan rata-rata lama mobil dipinjam
SELECT avg( lama_rental ) AS rata
FROM tb_transaksi
c. COUNT
Untuk menampilkan jumlah mobil yang dipinjam berdasarkan id_mobil
SELECT id_mobil, count( id_mobil )
FROM tb_transaksi
GROUP BY id_mobil
4

2. Pengurutan data (order by)


Menampilkan jumlah lama rental setiap id mobil diurut berdasarkan jumlah terkecil
SELECT id_mobil, sum( lama_rental ) AS lama_rental
FROM tb_transaksi
GROUP BY id_mobil
ORDER BY lama_rental
3. Kriteria data
a. HAVING
Menampilkan daftar id mobil yang mempunyai lama rental lebih besar dari 2 hari
SELECT id_mobil, lama_rental
FROM tb_transaksi
GROUP BY id_mobil, lama_rental
HAVING sum( lama_rental ) >2
ORDER BY lama_rental
b. WHERE
COMPARISON
Menampilkan id mobil yang memiliki kapasitas lebih dari 7
SELECT id_mobil, kapasitas
FROM tb_mobil
WHERE kapasitas >7
BETWEEN
Menampilkan id mobil yang memiliki harga rental perhari antara 400000
sampai 500000
SELECT id_mobil, harga_rental_per_hari
FROM tb_mobil
WHERE harga_rental_per_hari BETWEEN 400000 AND 500000
LIKE/NOT LIKE
Menampilkan id mobil yang memiliki huruf I pada mereknya
SELECT id_mobil, merek
FROM tb_mobil
WHERE merek LIKE '%i%'
IN
Menampilkan id transaksi dan id_pegawai dimana id_pegawainya P001
SELECT id_transaksi, id_pegawai
FROM tb_transaksi
WHERE id_pegawai IN ('P001')

Anda mungkin juga menyukai