BAB I
LANDASAN TEORI
Agregate Operator
Agregate digunakan untuk melakukan perhitungan menjadi sebuah nilai dari
beberapa input. Adapun fungsi agregate yang ada dalam PostgreSQL
diantaranya :
1. COUNT(*)
Untuk menghitung jumlah baris. Struktur querynya :SELECT COUNT(*) FROM [NAMA_TABEL];
2. SUM(NAMA KOLOM)
Untuk menghitung penjumlahan data.Struktur querynya :
SELECT SUM(NAMA_KOLOM) FROM [NAMA_TABEL];
3. MAX(NAMA_KOLOM)
Untuk mencari nilai terbesar. Struktur querynya :
SELECT MAX(NAMA_KOLOM) FROM [NAMA_TABEL];
4. MIN(NAMA KOLOM)
Untuk mencari nilai terkecil. Struktur querynya :
SELECT MIN(NAMA_KOLOM) FROM [NAMA_TABEL];
5. AVG(NAMA KOLOM)
Untuk mencari nilai rata-rata. Struktur querynya :
SELECT AVG(NAMA_KOLOM) FROM [NAMA_TABEL];
GROUP BYGroup 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];
HAVINGPemakaian 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 querynya :
SELECT (NAMA_KOLOM) FROM [NAMA_TABEL] GROUP BY [NAMA_KOLOM] HAVING KONDISI;
CASEMeskipun 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;
Maka hasilnya seperti ini :
VIEWViews 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. Contoh query :
CREATE VIEW [NAMA_TABEL] VIEW AS QUERY;
Catatan : Query diatas merupakan query untuk menampilkan data menggunakan query sql select.
BAB II
HASIL PRAKTIKUM
Soal 1
Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan. Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.JawabanKarena data tabel sudah ada dan melebihi dari yang dibutuhkan, maka kita tidak perlu membuat lagi. Cukup pakai saja yang kemaren. Langsung saja, query yang dipakai adalah sebagai berikut :
- Untuk mencari nilai nim mahasiswa terkecil : select min(nim_mah) from mahasiswa;
- Untuk mencari nilai nim mahasiswa terbesar : select max(nim_mah) from mahasiswa;
- Untuk mencari rata - rata nilai nim mahasiswa : select avg(nim_mah) from mahasiswa;
Dan untuk hasil query dari mySQL :
Soal 2
Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.
JawabanUntuk menampilkan nilai rata - rata seperti nomor 1 tadi tapi data nim mahasiswanya yang lebih dari 12 querynya seperti ini :
- select avg(nim_mah) from mahasiswa where nim_mah > 12;
![]() | |||
| SQL Shell |
![]() |
| mySQL |
Soal 3
Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut:
JawabanUntuk membuat tampilan mahasiswa seperti gambar tersebut, kita menggunakan query seperti ini :
- select nama_fak, count(*)from mahasiswa,fakultas where mahasiswa.id_fak=fakultas.id_fak group by nama_fak;
![]() |
| Hasil SQL Shell |
![]() |
| Hasil mySQL |
Soal 4
Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.
JawabanUntuk menjawab soal nomor 4, yang harus dilakukan yaitu menggunakan query seperti ini :
- select nama_fak, count(*)from mahasiswa,fakultas where mahasiswa.id_fak=fakultas.id_fak group by nama_fak having count(*) >=2;
![]() |
| Hasil SQL Shell |
![]() |
| mySQL |
Soal 5
Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka
tertulis laki-laki dan bila “P” maka tertulis perempuan.
JawabanNah, kalau seperti itu, tinggal pakai query dari CASE. Seperti ini :
- select no_id, nama, alamat, no_telp, case when gender='p' then 'perempuan' else 'laki-laki' end as umur from mahasiswa;
![]() |
| SQL Shell |
![]() |
| mySQL |
Soal 6
Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
JawabanYang harus dilakukan pertama kali adalah membuat tabel VIEW. Berikut query untuk menampilkan data nim, nama mahasiswa, dan nama fakultas berdasar tabel mahasiswa, fakultas :
- create view pelajar as select no_id,nama,nama_fak from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
- select*from pelajar;
![]() |
| SQL Shell |
![]() |
| mySQL |
BAB III
PENUTUP
Perbedaan
MySQL
- Untuk query COUNT, MIN, dan MAX, tidak boleh ada spasi. Misalkan "select count (*) from mahasiswa;" akan menghasilkan eror. Maka seharusanya "select count(*) from mahasiswa;". Begitu pula berlaku untuk query MIN dan MAX.
- Kalau MySQL tidak memakai spasi, nah, kalau SQL bebas. Bisa pakai spasi maupun tidak. Dan hasilnya juga sama.
PersamaanMySQL dan SQL Shell
- Dari semua hasil, query dari MySql bisa digunakan ke SQL Shell.
KesimpulanAgregate Operator
Digunakan untuk melakukan penghitungan menjadi sebuah nilai dari beberapa nilai input.
- Count(*) : untuk menghitung jumlah baris.
- Sum(nama_kolom) : untuk menghitung penjumlahan data.
- Max(nama_kolom) : untuk mencari nilai data terbesar.
- Min(nama_kolom) : untuk mencari nilai data terkecil.
- Avg(nama_kolom) : untuk mencari nilai rata - rata dari suatu data.
Merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT.
Having
Kegunaannya adalah untuk menentukan kondisi bagi Group By.
Case
Kata Where menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan Case perbandingan dalam bentuk output kolom.
View
Suatu relasi virtual yang tidak perlu ada database tapi dapat diproduksi atas permintaan pemakai tertentu, pada ketika permintaan.
Daftar PustakaModul Praktikum BAB V.pdf














Tidak ada komentar:
Posting Komentar