Rekayasa Perangkat Lunak Materi 3 (Database) Ritzkal,S.Kom
Objectives Memanipulasi data table Fungsi Order by Fungsi Group by Fungsi Having Fungsi Join
Fungsi Order By Dipergunakan untuk menampilkan data yang terurut atau mengurutkan data. Ada dua macam pengurutan : – Secara Ascending (Asc) •Pengurutan nilai kolom secara menaik atau membesar. – Secara Descending (Desc) Pengurutan nilai kolom secara menurun atau mengecil.
Ascending Syntax : SELECT [DISTINCT] {* | columns_alias} FROM table_name ORDER BY expression [ASC | DESC] Contoh : menampilkan semua data pada tabel film diurutkan secara (ascending) select * from tblfilm order by namafilm
Descending Contoh : menampilkan semua data pada tabel film diurutkan secara (Descending) select * from tblfilm order by namafilm desc
Cont …. Contoh mengurutkan data berdasarkan beberapa field (kolom). •Mengurutkan data film secara ASCENDING berdasarkan nama film dan kode film select namafilm, kdjns,kdfilm from tblfilm order by namafilm,kdfilm asc
Mengurutkan data secara posisional Mengurutkan data secara posisional dilakukan dengan cara mengurutkan data berdasarkan posisi kolom. Contoh : mengurutkan data pada tabel FILM secara Ascending bedasarkan kolom ke 2. select * from tblfilm order by 2 ASC
Fungsi Group BY Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel. Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah. Apabila ingin mendapatkan rata-rata harga dari transaksi pinjam, maka tinggal dipergunakan operasi rata-rata (AVG) Contoh : SELECT kdfilm, avg(harga) as rata_rata from trans_pinjam group by kdfilm
Fungsi Having Fungsi HAVING memiliki kesamaan fungsi seperti WHERE. •Tetapi fungsi HAVING dipergunakan bila ada pemanggilan operasi GROUP dalam query dan operand-nya melibatkan pemanggilan operasi agregat. •Jadi fungsi HAVING dipergunakan mengikuti Fungsi GROUP BY, untuk memberikan suatu kondisi.
Contoh SELECT namafilm,avg(harga) as rata_rata from trans_pinjam group by namafilm having avg(harga) > 5000
Fungsi JOIN Fungsi JOIN dipergunakan untuk menampilkan data yang berasal lebih dari satu tabel. •Ada beberapa macam JOIN dalam SQL : –Inner Joins –Outer Joins –Cross Joins
Inner Joins Merupakan join yang memakai operasi perbandingan ( = atau <> ) untuk membandingkan nilai link columns. • Inner joins menggunakan operator pembanding untuk mencocokkan baris (rows) dari dua tabel berdasarkan pada nilai yang ada di kolom yang dipergunakan sebagai pembanding atau penghubung dari masing-masing tabel.
Contoh : select trp.kdjns,trp.tglpinjam,trp.qty,trk.namafilm,trk.tglkembali,trk.ket from trans_pinjam as trp inner join trans_kembali as trk on trp.kdfilm = trk.kdfilm
Outer Join Secara prinsip, outer join adalah join yang mengambil nilai dari luar (out), ada nilai dari luar tabel-tabel masukan yang dipaksakan untuk cocok dengan kondisi join. • Berbeda dengan inner join yang menampilkan nilai bila setidaknya ada satu baris yang cocok antara dua tabel, dan tidak menampilkan baris yang tidak memiliki ketidakcocokan dengan tabel lain. • Outer join menampilkan semua baris dari tabel selama memenuhi kondisi walaupun tidak memiliki kecocokan data. • Ada tiga macam Outer Join : –Left Outer Join, Right Outer Join dan Full Outer Join
Left Outer Join •Left Outer Join menampilkan nilai setiap baris (record) dari tabel pertama dan nilai setiap baris dari tabel kedua. •Apabila terdapat ketidak cocokan, maka nilai pada baris (record) dari tabel kedua akan diisi dengan nilai NULL.
Contoh select trp.kdfilm, jnsf.nama, jnsf.kdjns from trans_pinjam as trp Left outer join jnsfilm as jnsf on trp.kdjns = jnsf.kdjns
Right Outer Join •Pada Left Outer Join dibuat query sedemikian rupa sehingga akan dipaksakan nilai luar (NULL) bila record dari tabel di sebelah kiri tidak memiliki kecocokan dengan record di tabel sebelah kanan join. •Right Outer join memiliki kebalikan dengan Left Outer Join, dimana tabel di sebelah kanan yang akan ditampilkan semua recordnya, baru dicocokkan dengan tabel di sebelah kiri. •Apabila tidak terdapat kecocokan, maka di tabel sebelah kiri akan diberi nilai NULL
Contoh select trp.kdfilm,jnsf.nama from trans_pinjam as trp right outer join jnsfilm as jnsf on trp.kdjns = jnsf.kdjns
Cross Join •Cross Join mengembalikan/menampilkan nilai semua baris (record) dari tabel sebelah kiri. •Setiap record dari tabel sebelah kiri digabungkan dengan semua record dari tabel sebelah kanan. •Bila Cross Join menggunakan WHERE, maka hasil yang ditampilkan sama seperti bila menggunakan INNER JOIN. •Cross join juga disebut dengan Cartesian products ()bila tidak menggunakan WHERE
Sintax diatas bisa di gunakan pada aplikasi SQL SERVER 2000 Contoh Sintax diatas bisa di gunakan pada aplikasi SQL SERVER 2000
Thank You