1. AGGREGATE OPERATOR
Fungsi
Aggregate adalah fungsi yang diterapkan terhadap sekumpulan data pada sebuah
field dan menghasilkan nilai tunggal. Fungsi aggregate atau disebut fungsi
ringkasan digunakan untuk melakukan penghitungan menjadi sebuah nilai dari
beberapa nilai input. Aggregate dapat digabungkan dengan sebuah
parameter seperti WHERE untuk menghasilkan suatu hasil yang lebih kompleks
lagi.
2. GROUP BY
Group By merupakan fungsi yang digunakan untuk melakukan
pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk
menjalankan agregate menjadi sebuah kelompok dari hasil Query. Berikut struktur
SQL untuk penampilan data :
select
nama_kolom from nama_tabel group by nama_kolom;
3. HAVING
Pemakaian HAVING terkait dengan GROUP BY, kegunaanya adalah untuk
menentukan kondisi bagi GROUP BY, dimana kelompok yang memenuhi kondisi
saja yang akan di hasilkan.
Berikut
Struktur yang digunakan :
4. CASE
Meskipun
SQL bukan merupakan sebuah prosedur bahasa perograman, namun dalam prosesnya
dapat dengan bebas mengontrol data yang kembali dari query. Kata
WHERE menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan
CASE perbandingan dalam bentuk output kolom. Jadi intinya penggunaan CASE
akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari
operasi yang di dalamnya.Struktur didalam select seperti berikut :
CASE
WHEN condition THEN result
[WHEN
...]
[ELSE
result] END
Berikut contoh query penggunaan case, penentuan umur jika umurnya
dibawah 1986-01-01 dianggap dewasa dan lebih dari itu dianggap remaja :
select
txt_namadepan, txt_namaakhir, dt_tgllahir, case when dt_tgllahir
< '1986-01-01' then 'dewasa' else 'balita' end as umur from pegawai ;
5. VIEW
Views
dapat juga disebut tabel bayangan tetapi bukan temporary table,
bukan
juga merupakan sebuah tabel yang asli. Suatu view adalah suatu relasi virtual yang
tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai
tertentu, pada ketika permintaan. Satu lagi kelebihan yang dimiliki oleh view yaitu
dapat menyimpan perintah query, dan dapat mewakili sebuah subset dari tabel
asli dan memilih kolom atau row tertentu dari tabel biasa.
create
view nama_tabel_view as query;
Catatan : Query diatas merupakan query untuk menampilkan data
menggunakan query sql select.
Berikut
adalah tabel contoh kasus penggunaan VIEW :
B. HASIL PRAKTIKU
- MySQL
Dari
table mahasiswa yang telah kita buat pada pertemuan sebelumnya, tambahkan
beberapa data yang akan kita gunakan untuk pertemuan kali ini, tambahkan kolom
gender kemudian update datanya.
Eitss jangan lupa ya,.. sebelum kita melakukan percobaan pada
MySQL, kita harus masuk dulu ke MySQL_nya dengan mengetikkan “mysql –u root”
dan memilih database yang akan kita pakai dengan “use
nama_database”.
1. Tampilkan banyaknya
data mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang
paling kecil, paling besar dan rata-ratanya.
Berikut
Syntaxnya :
SELECT
* from mahasiswa; // untuk menampilkan seluruh data mahasiswa
SELECT
MAX(nim_mah) from mahasisswa; // untuk menampilkan nim_mahasiswa yang
paling besar.
SELECT
MIN(nim_mah) from mahasiswa; // untuk menampilkan nim_mahasiswa yang
paling kecil.
SELECT
AVG(nim_mah)from mahasiswa; // untuk menampilkan rata-rata nim_mahasiswa
2. Tampilkan rata-rata id
atau nim mahasiswa yang data nimnya lebih dari 12.
Berikut
Syntaksnya :
SELECT
AVG(nim_mah) from mahasiswa where nim_mah>12;
3. Tampilkan jumlah
mahasiswa berdasarkan fakultas. Sehingga hasilnya adalah column nama fakultas
& count(*).
Berikut
syntaksnya :
SELECT
nama_fak, COUNT(*) from mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP
BY nama_fak;
4. Tampilkan seperti
nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja
yang ditampilkan.
berikut
Syntaksnya :
SELECT
nama_fak, COUNT(*) from mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP
BY nama_fak HAVING COUNT(*)>=2;
5. Tampilkan data
mahasiswa dengan persyaratan, jika jenis kelaminnya ‘L’ maka tertulis
‘Laki-laki’ dan sebaliknya.
Berikut
Syntaksnya :
SELECT
*, CASE WHEN gender = ‘L’ THEN ‘Laki-laki’ ELSE ‘Perempuan’ END AS ket from
mahasiswa;
6. Buatlah view untuk
query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama
mahasiswa, nama fakultas.
Berikut
Syntaksnya :
CREATE
VIEW Data_Mahasiswa AS SELECT nim_mah, nama_mah, nama_fak from mahasiswa,
fakultas WHERE mahasiswa.id_fak=fakultas.id_fak; // untuk membuat VIEW
SELECT
* from Data_Mahasiswa; // untuk menampilkan hasil VIEW
- PostgreSQL
Dari
table mahasiswa yang telah kita buat pada pertemuan sebelumnya, tambahkan
beberapa data yang akan kita gunakan untuk pertemuan kali ini, tambahkan kolom
gender kemudian update datanya. J
1. Tampilkan
banyaknya data mahasiswa yang telah di inputkan. Kemudian cari nim atau id
mahasiswa yang paling
kecil, paling besar dan rata-ratanya.
Berikut
Syntaksnya :
SELECT
* from mahasiswa; // untuk menampilkan seluruh data mahasiswa
SELECT
MAX(nim_mah) from mahasiswa; // untuk menampilkan nim_mahasiswa yang
paling besar.
SELECT
MIN(nim_mah) from mahasiswa; // untuk menampilkan nim_mahasiswa yang
paling kecil.
SELECT
AVG(nim_mah)from mahasiswa; // untuk menampilkan rata-rata nim_mahasiswa

2. Tampilkan rata-rata id atau nim mahasiswa yang
data nimnya lebih dari 12.
Berikut Syntaksnya :
SELECT
AVG(nim_mah) from mahasiswa where nim_mah>12;

3. Tampilkan jumlah mahasiswa berdasarkan fakultas.
Sehingga hasilnya adalah column nama fakultas & count(*).
Berikut syntaksnya :
SELECT
nama_fak, COUNT(*) from mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP
BY nama_fak;

Catatan :
( mahasiswa m, fakultas f ) m dan f adalah sebuah inisialisasi dari table
mahasiswa . Dengan begitu, kita bisa menuliskan inisial m dan f untuk perintah
selanjutnya.
4. Tampilkan
seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama
dengan 2 saja yang ditampilkan.
berikut Syntaksnya :
SELECT
nama_fak, COUNT(*) from mahasiswa m, fakultas f WHERE m.id_fak=f.id_fak GROUP
BY nama_fak HAVING COUNT(*)>=2;

5. Tampilkan data mahasiswa dengan persyaratan, jika
jenis kelaminnya ‘L’ maka tertulis‘Laki-laki’ dan sebaliknya.
Berikut Syntaksnya :
SELECT
*, CASE WHEN gender = ‘L’ THEN ‘Laki-laki’ ELSE ‘Perempuan’ END AS ket from
mahasiswa;

6. Buatlah view untuk query penampilan data mahasiswa,
fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
Berikut Syntaksnya :
CREATE
VIEW Data_Mahasiswa AS SELECT nim_mah, nama_mah, nama_fak from mahasiswa,
fakultas WHERE mahasiswa.id_fak=fakultas.id_fak; // untuk membuat VIEW
SELECT
* from Data_Mahasiswa; // untuk menampilkan hasil VIEW

C. EVALUASI
PERBANDINGAN DBMS MySQL dengan DBMS PostgreSQL
Dari
hasil praktikum dan percobaan yang telah dilakukan, dapat di lihat bahwa antara
Postgre SQL dengan MySQL mempunyai sedikit perbandingan yang terletak pada
operator “COUNT, MAX, MIN, dan AVG”. pada MySQL kita harus menuliskan operator
tersebut TANPA SPASI, misalnya : “COUNT(*)”. Sedangkan pada PostgreSQL, adanya
spasi atau tidak adanya spasi dalam penulisan operator tersebut tidaklah
berpengaruh, misalnya : “COUNT (*)” atau “COUNT(*)”.
D. KESIMPULAN,
KRITIK, SARAN, MANFAAT
berdasarkan
dari hasil percobaan dan hasil praktikum, maka dapat disimpulkan bahwa fungsi
agregasi pada kedua DBMS ini mempunyai banyak kesamaan walaupun ada sedikit
perbedaan pada penggunaan ‘SPASI’ saat mengoperasikan fungsi “COUNT, MAX, MIN,
dan AVG”. menurut saya, penggunaan fungsi agregasi yang sudah dilakukan pada
saat praktikum sudah jelas, namun ada sedikit menurut saya yang harus lebih di
perjelas lagi yaitu pada penggunaan HAVING, seharusnya pada modul yang dipakai
bisa ditambah contohnya, tidak hanya penggunaan HAVING SUM saja tapi
ditambahkan penggunaan HAVING COUNT juga. Dan yang terakhir saya berharap
semoga sedikit tulisan di blog saya ini bisa bermanfaat bagi pembaca.
E. DAFTAR
PUSTAKA
ANDI
OFFSET, 2010, Shotcourse SQL SERVER 2008 Express, Yogyakarta
0 komentar:
Posting Komentar