Group by dan Aggregate Function
Dalam Menjalankan sebuah query untuk melakukan pengelompokan data dapat menggunakan Fungsi Group by dan di ikuti oleh Fungsi Aggregat.
- Group by : digunakan untuk menampilkan atau memilih sekumpulan data berdasarkan kelompok data tertentu.
-Dalam Implementasi nya Aggregat Function harus diikuti oleh Group by bila terdapat Field lain yang dijadikan kriteria pengelompokan
- Aggregate Function : Min(), Max(), Avg(), Sum(), Count()
- MIN()
Fungsi MIN digunakan untuk mencari nilai minimum dari sekumpulan data yang ada
SELECT field-1,…,field-n,
MIN(nama_field)
FROM tabel
GROUP BY field-1,…,field-n
Contoh :
SELECT kode_pasok,
MIN(jumlah_pasok) as jumlah
FROM pasok
GROUP BY kode_pasok
- MAX()
Fungsi MAX digunakan untuk mencari nilai maksimum dari sekumpulan data yang ada
SELECT field-1,…,field-n,
MAX(nama_field)
FROM tabel
GROUP BY field-1,…,field-n
Contoh :
SELECT kode_pasok,
MAX (jumlah_pasok) as jumlah
FROM pasok
GROUP BY kode_pasok
- AVG()
Fungsi AVG digunakan untuk mencari nilai rata-rata dari sekumpulan data yang ada
SELECT AVG (nama_field),
AS Rata-Rata
FROM tabel
atau
SELECT (nama_field)
AVG (nama_field) AS (nama_field_baru)
FROM tabel
GROUP BY (nama_field)
Contoh :
SELECT AVG (jumlah_pasok)
AS Rata_Rata
FROM pasok
atau
SELECT kode_pasok,
AVG (jumlah_pasok) AS Rata_Rata
FROM pasok
GROUP BY (kode_pasok)
Latihan
mencari nilai rata-rata dari keseluruhan nilai yang ada :
SELECT AVG (nilai) as Rata_rata
FROM nilai
Latihan
mencari nilai rata-rata per mahasiswa (per-nim) :
SELECT nim,
AVG(nilai) as Rata_Rata
FROM nilai
Group by (nim)
Latihan
mencari nilai rata-rata per-matakuliah :
SELECT kode_MK,
AVG(nilai) as Rata_Rata
FROM nilai
Group by (kode_MK)
- SUM()
Fungsi SUM digunakan untuk menjumlahkan nilai dari sekumpulan data yang ada
SELECT field-1,…,field-n,
SUM(nama_field)
FROM tabel
GROUP BY field-1,…,field-n
Contoh :
SELECT kode_pasok,
SUM(jumlah_pasok) AS Jumlah
FROM pasok
GROUP BY (kode_pasok)
Latihan
mencari jumlah seluruh nilai :
Latihan
mencari jumlah nilai per-mahasiswa (per-nim) :
SELECT nim,
SUM(nilai) as Jumlah
FROM Nilai
Group by (nim)
Latihan
mencari jumlah nilai per-matakuliah :
SELECT Nama_MK,
SUM(nilai) as Jumlah_Nilai
FROM nilai, matakuliah
WHERE matakuliah.Kode_MK=nilai.Kode_MK
Group by (nama_MK)
- COUNT()
Fungsi COUNT digunakan untuk mencari cacah atau banyaknya data
SELECT field-1,…,field-n,
COUNT (nama_field)
FROM tabel
GROUP BY field-1,…,field-n
Contoh :
SELECT kode_pasok,
COUNT (jumlah_pasok) AS Banyaknya_Data
FROM pasok
GROUP BY (kode_pasok)
Latihan
mencari jumlah nilai per-matakuliah :
SELECT nim,
COUNT(nilai) as Banyaknya_Nilai
FROM nilai
Group by (nim)
Pengurutan Data (Order By)
- ORDER BY
Digunakan untuk mengurutkan data berdasarkan field tertentu
SELECT field-1,field-2,…,field-n
FROM tabel
ORDER BY (field)
• urutkan jumlah berdasarkan jumlah pasokan paling sedikit
SELECT kode_pasok, jumlah_pasok
FROM pasok
ORDER BY jumlah_pasok
• urutkan jumlah berdasarkan jumlah pasokan paling banyak
SELECT kode_pasok, jumlah_pasok
FROM pasok
ORDER BY jumlah_pasok DESC
Latihan
menampilkan nilai diurutkan dari yang terkecil sampai yang terbesar :
SELECT nim, nilai
FROM nilai
ORDER BY nilai
Latihan
menampilkan nilai diurutkan dari yang terbesar sampai yang terkecil :
SELECT nim, nilai
FROM nilai
ORDER BY nilai DESC
Keriteria Data
- HAVING
Menyeleksi data berdasarkan kriteria tertentu, dimana kriteria berdasarkan berupa fungsi aggregat
SELECT field-1,…, field-n, aggregate_function
FROM tabel
GROUP BY field-1,…,field-n
HAVING kriteria_aggregate_function
• Tampilkan kode customer yang mempunyai cacah pembelian = 4
SELECT kode_customer,
COUNT (jumlah_pembelian) AS cacah_pembelian
FROM pembelian
GROUP BY kode_customer
HAVING COUNT(*)=4
Where…
KondisiWhere, digunakan untuk melakukan pemilihan/seleksi data. Penggunaannya dilakukan setelah kata where, dan diikuti oleh :
• comparison (=,<>,<,>,>=,<=),
• between,
• in,
• like/not like
Comparison
•Berfungsi untuk membandingkan dua nilai.
•Tipe data yang seharusnya dibandingkan harus sesuai.
•Hasil yang diperoleh dari operasi comparison ini berupa nilai logika.
SELECT field-1,…, field-n
FROM tabel
WHERE field = | <> | < | > | <= | >= …
Contoh :
•Tampilkan kode barang dan kode suplier yang mempunyai jumlah pasok 2
SELECT kode_barang, kode _suplier FROM pasok
WHERE jumlah_pasok=2
•Tampilkan kode barang dan kode suplier yang jumlah pasoknya kurang atau sama dengan 5
SELECT kode_barang, kode _suplier FROM pasok
WHERE jumlah_pasok<=5
Between
Pada prinsipnya between digunakan untuk membandingkan/untuk mengecek apakah suatu nilai berada dalam range atau nilai tertentu.
SELECT field-1,…, field-n
FROM tabel
WHERE field BETWEEN … AND …
Contoh :
•Tampilkan kode barang dan kode customer yang jumlah pasoknya antara 4 dan 15 (4 dan 15 termasuk di dalamnya
SELECT kode_barang, kode_customer
FROM pembelian
WHERE jumlah_pembelian BETWEEN 4 AND 15
In
Digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu.
SELECT field-1,…, field-n
FROM tabel
WHERE field IN (…, …, …)
Contoh :
•Tampilkan kode barang dan kode suplier yang jumlah pasoknya 2,8,12
SELECT kode_barang, kode_suplier
FROM pasok
WHERE jumlah_pasok IN(2,8,12)
ORDER BY jumlah_pasok
Like / Not Like…
Digunakan untuk membandingkan data dengan pola tertentu.
SELECT field-1,…, field-n
FROM tabel
WHERE field LIKE | NOT LIKE
• Tampilkan customer yang mempunyai kata ‘CIM’ pada alamatnya (pada alamat customer terdapat kata ‘CIM’)
SELECT *
FROM customer
WHERE alamat_customer LIKE ‘%CIM%’
•Tampilkan customer yang mempunyai kata selain ‘CIM’ pada alamatnya
SELECT *
FROM customer
WHERE alamat_customerNOT LIKE ‘%CIM%’
LATIHAN
Tampilkan jumlah nilai minimum per matakuliah
SELECT nama_mk,
MIN(nilai) as jumlah_NILAI_MINIMUM
FROM nilai, matakuliah
WHERE matakuliah.Kode_MK=nilai.Kode_MK
Group by (nama_MK)
Tampilkan nilai maksimum dari semua data pada tabel NILAI
SELECT MAX(nilai) as NILAI_MAKSIMUM
FROM nilai
Tampilkan nim dan kode mata kuliah yang mempunyai nilai 90
SELECT NIM, KODE_MK
FROM NILAI
WHERE NILAI=90;
Tampilkan nim dan kode mata kuliah yang mempunyai nilai kurang dari 90
SELECT NIM, KODE_MK
FROM NILAI
WHERE NILAI<90;
Tampilkan data mahasiswa yang dari kota berakhiran “KARTA”
SELECT *
FROM MAHASISWA
WHERE KOTA LIKE '%karta';
0 komentar:
Posting Komentar