Click here to load reader
Upload
solikin
View
232
Download
7
Embed Size (px)
DESCRIPTION
hhhh
Citation preview
Praktikum
4 FUNGSI DALAM SQL
Tujuan :
Praktikan mampu untuk memahami dan menguasai fungsi-fungsi SQL
Alat dan Bahan :
1. Buku literatur mengenai sistem database, terutama yang menggunakan DBMS SQL Server
2000, khususnya mengenai transactsql.
2. Modul praktikum.
Landasan Teori :
Aritmetik
Penghitungan aritmatika dapat dilakukan dengan menggunakan * / + - seperti umumnya.
Kelompok Nilai
Fungsi AVG, Max, MIN, SUM, COUNT adalah fungsi yang memproses table dengan kualifikasi
tertentu.
1. AVG
Mencari rata-rata
SELECT AVG(field_numerik) FROM nama_tabel
Nilai perbandingan adalah hasil dari query baru (yang disebut sebagai subquery).
Contoh :
SELECT * FROM ambil_kuliah_XXX WHERE nilai_uas>(SELECT AVG(nilai_uas) FROM ambil_kuliah_XXX)
2. MAX
Mencari maksimum
SELECT MAX(nilai_uas) FROM ambil_kuliah_XXX
3. MIN
Mencari minimum
SELECT MIN(nilai_uas) FROM ambil_kuliah_XXX
4. COUNT
Menghitung record dengan kualilfikasi tertentu. COUNT(*) menyatakan hitung seluruh record
yang berlaku.
SELECT COUNT(*) FROM mahasiswa_XXX
5. SUM
Menjumlah nilai dari kolom tertentu
SELECT SUM(nilai_uas) FROM ambil_kuliah_XXX
GROUP BY
Group By Menyeleksi himpunan yang dihitung berdasarkan fungsi spesifik seperti AVG, COUNT
atau lainya.
SELECT npm,COUNT(*) FROM ambil_kuliah GROUP BY npm
GROUP BY HAVING
HAVING berlaku untuk kelompok query Group By dan berfungsi seperti WHERE. Hanya group
yang mempunyai kriteria tersebut yang akan diproses (pada where yang diproses adalah setiap
record dalam tabel). Berikut adalah daftar mahasiswa yang mempunyai nilai uas rata-rata
diatas 80 :
SELECT npm,AVG(nilai_uas) FROM ambil_kuliah GROUP BY npm HAVING AVG(nilai_uas)>80
JOIN
Join adalah teknik yang digunakan untuk mengakses lebih dari satu tabel dan menggabungkan
hasilnya. Perhatikan tabel sesi di bawah ini
SELECT npm, mahasiswa_XXX.nama, grade FROM ambil_kuliah_XXX, mahasiswa_XXX WHERE ambil_kuliah_XXX.npm=mahasiswa_XXX.npm
perintah diatas dapat juga di tulis menggunakan INNER JOIN
SELECT nrp, mahasiswa_XXX.nama, grade FROM ambil_kuliah_XXX INNER JOIN mahasiswa_XXX ON ambil_kuliah_XXX.npm=mahasiswa_XXX.npm
Menggunakan Alias
Alias digunakan untuk menyederhanakan tulisan, agar tidak terlalu panjang.
SELECT npm, mahasiswa_XXX.nama, grade FROM ambil_kuliah_XXX, mahasiswa_XXX WHERE ambil_kuliah_XXX.npm=mahasiswa_XXX.npm
Penulisan dapat disederhanakan menjadi :
SELECT npm, M.nama,grade FROM ambil_kuliah_XXX A ,mahasiswa_XXX M WHERE A.npm = M.npm
Alias dapat juga di berikan pada INNER JOIN :
SELECT npm, M.nama, grade FROM ambil_kuliah_XXX A INNER JOIN mahasiswa_XXX B ON A.npm = B.npm
Tugas Pendahuluan Praktikum
1. Apa yang dimaksud dengan subquery ?
2. Kapan alias digunakan ?
3. Jelaskan kembali mengenai JOIN menggunakan pemahaman sendiri dan sebutkan jenis-jenis
join yang dapat dilakukan pada Ms. SQL Server 2000 (cari selain yang terdapat pada modul).
4. Kenapa data yang akan diisikan pada foreign key field harus ada terlebih dahulu pada
primary key field yang diacu?
Percobaan
Sebelum memulai, aktifkan Tools Query Analyzer
XXX adalah 3 digit terakhir NPM anda.
Restore data yang telah dihasilkan dari praktikum sebelumnya.
Percobaan 1 : Buat tabel asisten_XXX dengan ketentuan :
asisten_XXX(kd_prak,npm,th_ajaran1,th_ajaran2,jumlah_jam,honor)
kd_prak char 8
npm char 8
th_ajaran1 smallint
th_ajaran2 smallint
jumlah_jam smallint
honor money
kd_prak merupakan foreign key yang mengacu pada tabel mata_kuliah_XXX
npm merupakan foreign key yang mengacu pada tabel mahasiswa_XXX
Isi data pada tabel asisten_XXX :
kd_prak npm th_ajaran1 th_ajaran2 jumlah_jam honor
TPL102 03010006 2008 2009 8 80000
TPL111 03010007 2008 2009 8 80000
TPL116 03010006 2007 2008 7 70000
TPL102 03010026 2006 2007 8 80000
TPL111 03010026 2008 2009 5 50000
Percobaan 2 : Tambahkan 10% honor untuk mereka yang mempunyai honor dibawah rata-
rata.
Percobaan 3 : Cari asisten yang honornya antar 70.000 sampai dengan 100.000
Percobaan 4 : Tampilkan asisten yang honornya lebih kecil dari rata-rata.
Percobaan 5 : Tampilkan daftar honor asisten dan kurangi dengan pajak penghasilan 15%
Percobaan 6 : Tampilkan data asisten secara lengkap (npm,nama,jenis kelamin,alamat) yang
honornya paling kecil
Percobaan 7 : Tampilkan jumlah asisten yang honornya diatas rata-rata
Percobaan 8 : Tampilkan daftar asisten yang honornya diatas rata-rata