rd 3 DML :
Selection(3)
S1 TI - AMIKOM Yogyakarta
2009
MODUL PRAKTIKUM SISTEM BASIS DATA
MODUL PRAKTIKUM SISTEM BASIS DATA
3rd Data Manipulation Language: Select ( 3)
Akhmad Dahlan © Laboratorium Basis Data Jurusan Teknik Informatika ‐ STMIK AMIKOM Yogyakarta 2009 Caution : Modul ini dibuat dan disusun sedemikian rupa dengan berbagai macam metode. Kesalahan perintah SQL, syntax error dan lain sebagainya adalah sebuah KESENGAJAAN dan semata‐mata untuk mempelajari kesalahan tersebut. Dengan harapan kita bisa mengetahui solusinya. sialllandMethode
Modul
9 3rd Data Manipulation Language: Select ( 3 ) Kompetensi Dasar : • DML : Menampilkan data dengan fungsi agregasi • DML : Menampilkan dari table relasi (join table) Indikator : • Mampu menampilkan data dari tabel dengan fungsi agregasi • Mampu menampilkan data dari tabel yang saling berelasi Dalam modul ke‐9 ini kita masih akan menggunakan database yang mempunyai tabel‐tabel seperti pada modul ke‐8. Tapi untuk membahas materi modul 9, ada satu tabel tambahan yaitu detailpoint. Yang berisi nilai dan angka, contoh nilai A angka 4.
UPDATE – DELETE Data yang ada dalam tabel selain dapat ditampilkan dapat juga dilakukan perubahan maupun penghapusan. Ketiga perintah ini adalah perintah umu yang digunakan dalam dunia pemrograman basis data. Perintah untuk mengubah data dalam database adalah dengan menggunakan: update [nama tabel] set [nama kolom] = 'data baru' where [nama kolom] = 'data pembanding' Contoh : update agama set nama_agama='apapun' where kd_agama='kd' update agama set nama_agama='apapun itu', kd_agama='oo' where kd_agama='kd'
Î Perhatikan perbedaan dari perintah di atas.
Sedangkan perintah untuk mengubah record data dalam database adalah dengan menggunakan syntax: delete from [nama tabel] delete from [nama tabel] where [nama kolom] = 'data pembanding' Perbedaan dari kedua perintah di atas adalah: Perintah pertama adalah untuk menghapus seluruh record data dalam sebuah tabel. Sedangkan perintah kedua untuk menghapus record data berdasarkan kondisi tertentu sesuai pada kalusa where. Perbedaan 2 perintah tersebut sangat signifikan. Hati‐hati dalam menggunakannya Contoh: Menghapus record data pada tabel mahasiswa yang berjeniskelamin laki‐laki. delete from mahasiswa where jeniskelamin = 'L'
!
3
ORDERING Ordering adalah proses menampilkan data secara terurut baik ascending maupun descending yang sesuai dengan keinginan kita. Klausa yang digunakan adalah order by yang ditulis diahir statemen select. Contoh syntax: select [nama kolom] from [nama tabel] order by [nama kolom] Contoh: select * from mahasiswa order by nama select * from mahasiswa order by nama asc select * from mahasiswa order by nama desc select * from mengambil order by nim asc, nilai desc Î Perhatikan perbedaan dari perintah di atas.
FUNGSI AGREGASI Kita dapat menggunakan fungsi agregasi untuk meringkas data dalam queri. Fungsi agregasi secara umum digunakan untuk kolom yang bertipe data numeric (dapat dihitung). Sebagai contoh kita ingin mengetahui jumlah mahasiswa laki‐laki. Jumlah mahasiswa perempuan yang berasal dari daerah tertentu dan lain sebagainya. Berikut adalah fungsi yang paling umum dipakai dalam pemrograman database: • AVG : Digunakan untuk mencari nilai rata‐rata dari suatu field dalam sebuah tabel. • MAX : Digunakan untuk mencari nilai terbesar (maksimum) dari suatu field dalam sebuah tabel. • MIN : Digunakan untuk mencari nilai terkecil (minimum) dari suatu field dalam sebuah tabel. • SUM : Digunakan untuk mencari hasil jumlah dari suatu field dalam sebuah tabel. • COUNT: Digunakan untuk menghitung jumlah record atau baris data dari suatu field dalam sebuah tabel. • STDEV : Digunakan untuk menghitung standard deviasi. • VAR : Digunakan untuk menghitung varian. • TOP n : Digunakan untuk menhasilkan n buah nilai teratas Syntax penulisan untuk menyertakan fungsi agregasi dalam statement select adalah: select [aggregation function] [(nama)] from [mahasiswa] Contoh: select count(nim) from mahasiswa select min(nilai) from mengambil
4
select max(nilai) from mengambil select count(nim) from mahasiswa where jeniskelamin = ‘P’ select * from mahasiswa select top 5(nama) from mahasiswa Î Perhatikan hasil dari dari perintah di atas.
KLAUSA GROUP BY Klausa Group By digunakan untuk mengelompokan data yang diseleksi menggunakan fungsi agregasi. Sebagai contoh, kita akan menghitung jumlah matakuliah yang diambil oleh setiap mahasisa (yang dikelompokkan berdasarkan berdasarkan nim). Syntax penulisannya adalah: select [kolom1], fungsi agregasi ([kolom2]) from [tabel] group by ([kolom1]) Contoh: select nim, count(kdmk) from mengambil group by (nim) select jeniskelamin, count(nim) from mahasiswa group by (jeniskelamin) Î Perhatikan hasil dari dari perintah di atas.
JOIN TABLE Operator JOIN digunakan untuk mencari data dari beberapa tabel berdasarkan hubungan logis dari tabel yang berelasi. JOIN menyatakan cara SQL Server memakai data dari berbagai macam tabel. SQL Server dapat menggabungkan tabel‐tabel sampai 256 tabel. Macam‐macam JOIN cukup banyak diantaranya: inner join, outer join. JOIN dapat disertakan kedalam statemen SELECT dengan gabungan klausa yang lain seperti FROM, WHERE. Yang paling mudah difahami adalah inner join dengan menggunakan kalusa WHERE. Penulisan syntax untuk menampilkan data dari tabel berelasi adalah: SELECT tabel1.kolom1, tabel2.kolom5 FROM tabel1, tabel2 WHERE tabel1.kolomPrimaryKey = tabel2.kolomForeignKey Keterangan: • Saat ingin mengampilkan data suatu kolom dari tabel yang berelasi, harus dituliskan juga tabel domainya (tabel asalnya). • Setelah klausa FROM harus dituliskan semua nama tabel yang berkaitan. • Setelah klausa WHERE harus dituliskan kolom yang menjadi penghubung yaitu kolom Primary Key dan Foreign Key.
5
Contoh: select kota_kabupaten.nama_kota, provinsi.nama_provinsi from provinsi, kota_kabupaten where provinsi.kode_provinsi = kota_kabupaten.kode_provinsi select s.nama, k.namaMk, b.nilai from mahasiswa s, matakuliah k, mengambil mb WHERE s.nim=b.nim and k.kdmk=b.kdmk Î Perhatikan hasil dari dari perintah di atas.
Challenges! 1. Tampilkan jumlah mahasiswa yang beragama islam saja! 2. Tampilkan nama mahasiswa dan nama agamanya!
3. Tampilkan nama mahasiswa dan nama kota/kabupaten kelahirannya!
6
4. Tampilkan nama mahasiswa yang diawali huruf A dan nama provinsi kelahirannya!
5. Tampilkan jumlah mahasiswa berdasarkan agamanya!
happy coding;
[email protected] th
end of 9 chapter, congratulation… next Æ preparing to final response
7