Senin, 13 Oktober 2014

Pengelompokan & Pengurutan Data (Pertemuan 5)

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.
         -Pengelompokan nya biasa nya di sertai oleh Aggregat Fuction
         -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 :
SELECT SUM(nilai) as Jumlah
FROM 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