Upload
lycong
View
249
Download
4
Embed Size (px)
Citation preview
Kontrak Kuliah
Menggunakan Fungsi-Fungsi SQL
1
Edi Sugiarto, S.Kom, M.Kom
Fungsi-Fungsi SQL
• Terdapat dua kategori fungsi dalam SQL
– Single-Row : fungsi ini menerima satu baris
sebagai operand.
– Multiple-Row : fungsi ini menerima lebih dari
satu operand.
• Contoh fungsi yang termasuk dalam multiple-
row antaralain : Group By, Sum, Max, Min,
Count, dan AVG.
2
• Fungsi-fungsi single-row terbagi menjadi
– Fungsi Character / String
– Fungsi Date
– Fungsi Numeric
– Fungsi General
3
• Fungsi Karakter/String
– Merupakan fungsi yang berorientasi pada
string.
4
Fungsi Hasil
Lower(‘MySQL Database’) mysql database
Upper(‘MySQL Database’) MYSQL DATABASE
Concat(‘MySQL’,’ Database’) MySQL Database
Substr(‘MySQL Database’,3,3) SQL
Left(‘MySQL Database’,5) MySQL
Right(‘MySQL Database’,5) Abase
Length(‘MySQL Database’) 14
Instr(‘MySQL Database’,’Q’) 4
5
Fungsi Hasil
Ascii(‘a’) 97
Char(65) A
Format(300000000,2) 300,000,000.00
Lpad(‘udinus’,8,’*’) **udinus
Rpad(‘udinus’,8,’*’) udinus**
Repeat(‘x’,10) xxxxxxxxxx
Ltrim(‘ udinus’) udinus
Rtrim(‘udinus ‘) udinus
Reverse(‘udinus’) sunidu
Replace(‘FIK’,’K’,’Komputer’) FIKomputer
Insert(‘sunshine’,1,3,’rain or ‘) rain or shine
Trim(‘ udinus ‘) udinus
Find_in_set(‘AB’,’A,B,AB,O’) 3
• Fungsi Numeric
– Merupakan fungsi yang berorientasi pada nilai
numerik.
6
Fungsi Hasil
Truncate(45.928,2) 45.92
Round(45.928,2) 45.93
Mod(10,3) 1
Sqrt(625) 25
Sign(45.928) 1
Floor(45.928) 45
Ceiling(45.928) 46
Abs(-45.928) 45.928
7
Fungsi Hasil
Cos(0) 1
Sin(0) 0
Tan(0) 0
Log(1) 0
Pi() 3.141593
• Contoh:
• Fungsi Tanggal dan Waktu
8
Fungsi Keterangan
Current_date atau Curdate() Menampilkan tanggal sekarang
Current_time atau Curtime() Menampilkan waktu sekarang
Current_timestamp() Menampilkan tanggal dan waktu sekarang
Now() Menampilkan tanggal dan waktu sekarang
Month() Menghasilkan angka nomor urut bulan
Monthname() Menampilkan nama bulan
Dayofmonth() Menampilakn nomor urut tanggal
To_days() Menghasilkan jumlah hari
Year() Menghasilkan angka tahun
9
Fungsi Keterangan
Dayname() Menghasilkan nama hari
Hour() Menghasilkan angka jam
Minute() Menghasilkan angka menit
Second() Menghasilkan angka detik
Weekday() Menghasilkan angka urut dalam satu minggu
Date_add() Menghasilkan penambahan tanggal
Datediff() Menghasilkan pengurangan tanggal
Date_format() Menghasilkan format tanggal
• Contoh1 :
• Contoh2 :
10
• Contoh3 :
• Contoh4:
11
• Fungsi General
– Merupakan fungsi yang tidak termasuk dalam
fungsi string, numeric dan tanggal
– Fungsi tersebut antaralain:
1.Fungsi Encode
• Digunakan untuk mengkonversi string ke binary
string.
• Bentuk umum :
Encode (str,password)12
– Contoh :
– Dimana str adalah string yang akan
dikonversi.
– Password adalah kata kunci untuk perintah
konversi tersebut.
13
2. Fungsi Decode
• Digunakan untuk mengembalikan nilai string yang
telah dilakukan proses encode
• Bentuk umum :
Decode (str,password)
– Contoh :
14
Lebih lanjut dengan SELECT
• Menggunakan perintah LIMIT
– Digunakan untuk membatasi jumlah record
yang akan ditampilkan.
– Contoh1 : masih menggunakan tabel
employee pada pertemuan sebelumnya.
Tampilkan 3 record data pada tabel
employee.
15
– Contoh2: tampilkan 5 record pada tabel
employee dihitung dari posisi record ke 2.
16
• Menggunakan option BINARY agar data case-sensitive
– Dengan menambahkan option BINARY maka
pencarian data akan bersifat case-sensitiv.
– Contoh :
17
• Menuliskan ekspresi pada kolom
– Contoh1: akan ditampilkan nama dan gaji
pegawai setelah gaji dinaikkan 5% dari gaji
semula.
18
• Memberi nama lain terhadap kolom
– Contoh1: akan menampilkan nama dan gaji
pegawai setelah dinaikkan 5% dari gaji
semula dengan perubahan nama kolom.
19
• Ekspresi berkondisi
– Digunakan untuk mengubah keluaran yang
berbeda dengan data asalnya.
– Syntax :
Case <nilai_ekspresi>
When <nilai_ekspresi> then <nilai_ekspresi>
End
20
– Contoh :ditampilakn empNo, empName dan
job dengan ekspresi berkondisi sbb:
21
• Ekspresi Berkondisi
– Selain menggunakan case, perintah lain untuk
ekspresi berkondisi dapat menggunakan
perintah IF.
– Syntax:
IF (<ekspresi>,<kondisi benar>,<kondisi salah>)
22
– Contoh :ditampilkan empNo, empName dan
status dengan kondisi jika job adalah
president tampilkan status ‘Leadership’, selain
itu tampilkan status ‘Staff’.
23
– Latihan :
• Untuk latihan buatlah query pada tabel employee
untuk menentukan grade gaji berdasarkan tabel
berikut:
24
Gaji Grade
>=10000000 6
>=7500000 dan <10000000 5
>=5000000 dan < 7500000 4
>=3000000 dan < 5000000 3
>=1000000 dan < 3000000 2
<1000000 1
– Sehingga hasilnya sbb:
25
Terima kasih
26
Latihan
Tulislah perintah SQL untuk menyelesaikan latihan berikut :
1.Buatlah tabel dosen dan struktur tabelnya sbb:
27
Nama Field Type Keterangan
Kode_dos Int(4)
Primary key, tidak boleh kosong
, unsigned, zerofill,
auto_increment
Nama_dos Varchar(30) Tidak boleh kosong
Alamat_dos Varchar(50)
Tgl_masuk date
2. Tambahkan field kota char(20) yang ditempatkan
setelah field alamat_dos
3. Masukkan record-record berikut ke tabel dosen sbb:
28
Kode_
dos
Nama_dos Alamat_dos Kota_dos Tgl_masuk
1 Agung Susanto Jl. A. Yani No 20 Semarang 10-02-1990
2 Mila Estianti Jl. Ranggalawe No 4 Semarang 13-10-1998
3 Dini Nurisanti Perum Korpri Blok
E4
Solo 20-09-1990
4 Sugeng Purnomo Jl. Kemuning Raya Demak 25-11-1992
5 Rahmadi Jl. Dahlia No 5 Kudus 18-06-2010
4. Ubah data alamat, kota dan tanggal masuk dosen yang
memiliki nama depan “sugeng” menjadi
– Alamat = “Perum. Majapahit no 5”
– Kota = “Semarang”
– Tgl_masuk = 21-09-1994
5. Tampilkan semua data dosen dimulai record ke 3
hingga 5, untuk nama tampilkan dalam huruf kapital
6. Tampilkan nama_dos, kota_dos dan lama_kerja seluruh
dosen.
29
7. Dari tabel dosen tampilkan data dosen dalam format
sbb
• Ketentuan
– Tampilkan tgl_masuk dalam format d M Y
– Untuk kota_dos tampilkan
» “SMG” jika kota “Semarang”
» “SLO” jika kota “Solo”
» “DMK” jika kota “Demak”
» “KDS” jika kota “Kudus”
30
Kode_dos Nama_Dos Kota_dos Tgl_masuk
8. Buatlah tabel krs dengan struktur tabel sbb:
9. Isikan record-record berikut pada tabel krs
‘A21-101’,’A21.2001.00234’,80
‘A21-101’,’A21.2001.00243’,60
‘A21-202’,’A21.2002.00451’,65
‘A21-203’,’A21.2002.00451’,45
‘A21-203’,’A21.2002.00651’,85
‘A21-203’,’A21.2002.00532’,90
‘A21-203’,’A21.2004.00720’,8731
Nama Field Type Keterangan
Kode_kul Char(7) Primary Key, Tidak boleh kosong
Nim Char (10) Primary Key, Tidak Boleh Kosong
Nilai Int
10.Tampilkan semua data krs untuk nim angkatan 2001
menggunakan fungsi substr()
11.Dari tabel krs tampilkan data nilai angka dan nilai huruf
dengan format sbb
– Ketentuan nilai huruf adalah :
• Nilai 0..49 adalah “E”
• Nilai 50..59 adalah “D”
• Nilai 60..69 adalah “C”
• Nilai 70..84 adalah “B”
• Nilai 85..100 adalah “A”32
Kode_kul NIM Nilai Angka Nilai Huruf