PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FTI – UNIVERSITAS BUDI LUHUR CHAPTER 7 DML ( DATA MANIPULATION LANGUAGE) DALAM SQL
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP Data Manipulation Language (DML) SELECT Menampilkan sebagian atau seluruh isi dari suatu tabel Menampilkan kombinasi isi dari beberapa tabel UPDATE Mengubah isi satu atau beberapa atribut dari suatu tabel INSERT Menambah satu atau beberapa baris nilai baru ke dalam suatu tabel DELETE Menghapus sebagian atau seluruh isi dari suatu tabel
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP Data Manipulation Language (DML) NOANGNMANGALAMATTELEPON A1Ajieciledug A2Anditangerang A3Anicengkareng A4Anaciledug A5Agustangerang A6Anggatangerang A7Adeciledug ANGGOTA
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP Data Manipulation Language (DML) NOKREDITTGKREDITJMKREDITJKWAKTUTDLUNASNOANG B LUNASA1 B A2 B LUNASA5 B LUNASA1 B A5 BKREDIT
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP Data Manipulation Language (DML) NOANGSTGANGSJMANGSANGSKENOKREDIT T B01 T B02 T B03 T B01 T B02 T B03 T B02 T B02 T B04 T B05 T B04 ANGSURAN
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Bentuk umum perintah select select [distinct] field(s) from table(s) [where predicate] [group by field(s) [having predicate]] [order by field(s)]; Catatan: Predicate kondisi yang bisa diberikan
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Retrieval Sederhana Tampilkan nomor anggota yang pernah mengajukan kredit select noang from bkredit; Dari hasil query di atas kemungkinan mendapatkan duplikasi data, untuk mendapatkan data tuggal maka query diatas menjadi: select distinct noang from bkredit;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Tampilkan semua informasi mengenai seluruh anggota. select * from anggota; Retrieval dengan komputasi sederhana Tampilkan nomor anggota dan jumlah pinjaman dari semua kredit dalam dolar (uang dalam tabel bkredit menggunakan satuan rupiah). select noang, ‘$’, jmkredit / from bkredit;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Retrieval dengan Kondisi Tampilkan nama-nama anggota untuk yang beralamat di Ciledug select nmang from anggota where alamat = ‘ciledug’; Retrieval dengan pengurutan Tampilkan nama-nama anggota untuk yang beralamat di Ciledug diurutkan secara descending select nmang from anggota where alamat = ‘ciledug’; order by nmang desc;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Klausa where secara spesifik menyatakan kondisi bahwa hasilnya harus sesuai Berbanding lurus pada predikat selection dari relational algebra. Hasil pembanding dapat dikombinasi menggunakan konektivitas logika and, or, dan not. Pembanding dapat dihasilkan dari ekspresi arithmetic.
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT SQL termasuk between sebagai operator pembanding Contoh: Tampilkan nomor angsuran dari relasi angsuran dengan jumlah angsuran antara 500,000 dan select noangs from angsuran where jmangs between and
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Query dengan melibatkan lebih dari satu tabel Simple Equijoin Tampilkan semua kombinasi anggota dan bkredit untuk anggota yang melakukan kredit select anggota.*, bkredit.* from anggota, bkredit where anggota.cnoang = bkredit.noang
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Join operations mengambil 2 relasi dan mengembalikan hasilnya sebagai sebuah relasi lain. Operasi tambahan secara typical digunakan sebagai subquery expressions dalam klausa from Join condition – mendefinisikan tuple dalam 2 relasi match, dan atribut apa yang ada dalam hasil join. Join type – mendefinisikan bagaimana tuple dalam setiap relasi yang tidak match pada beberapa tuple dalam relasi lain (berdasarkan pada join condition) dihasilkan.
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT-SOME Tampilkan nomor anggota yang jumlah kreditnya diatas nomor kredit B02. select distinct A.nokredit from bkredit A, bkredit B where A.jmkredit > B.jmkredit and B.nokredit= ‘ B02 ’ ; Query yang sama mengunakan klausa > some select noang from bkredit where jmkredit > some (select jmkredit from bkredit where nokredit= ‘ B02 ’ )
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Dapatkan noang dari semua bkredit yang mempunyai jmkredit lebih besar dari semua bkredit yang mempunyai nomor anggota A2. select noang from bkredit where jmkredit > all (select jmkredit from bkredit where noang= ‘ A2 ’ )
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Join Query dengan Kondisi Majemuk Tampilkan semua kombinasi anggota dan kredit untuk nomor anggota yang ada di kredit dan abaikan kredit yang sudah lunas select anggota.*, bkredit.* from anggota,bkredit where anggota.noang=bkredit.noang and bkredit.tdlunas=‘Lunas’
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Join antara tiga tabel Tampilkan nama anggota dan nomor kredit yang mempunyai nomor angsuran ‘T05’ select distinct a.nmang, b.nokredit from anggota a, bkredit, b, angsuran cwhere c.noangs=‘T05’ and c.nokredit=b.nokredit and b.noang=a.noang
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FUNCTION PADA SQL COUNT Banyaknya nilai-nilai pada satu kolom SUM Jumlah nilai dari satu kolom AVG Rata-rata nilai dari satu kolom MAX Nilai terbesar yang ada pada satu kolom MIN Nilai terkecil yang ada pada satu kolom
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FUNCTION PADA SQL Tampilkan banyaknya anggota yang ada select count (*) from anggota; Tampilkan banyaknya anggota yang mengajukan kredit select count (distinct noang) from bkredit;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FUNCTION PADA SQL Tampilkan jumlah kuantitas kredit yang diajukan oleh anggota A1 select sum(jmkredit) from bkredit where noang=‘A1’; Tampilkan jumlah angsuran dari stiap nomor kredit. select nokredit, sum (jmangs) from angsuran group by nokrdit;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FUNCTION PADA SQL Tampilkan jumlah angsuran dari setiap nomor kredit dan nomor anggota. select bkredit.nokredit,bkredit.noang, count (*) from bkredit, angsuran where bkredit.nokredit = angsuran.nokredit group by bkredit.nokredit,bkredit.noang Catt: Atribut dalam klausa select yang berada diluar aggregate functions harus muncul dalam list group by
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP FUNCTION PADA SQL Tampilkan nama semua anggota dimana rata-rata pinjamanya adalah lebih dari select anggota.nmang, avg (bkredit.jmkredit) from anggota, bkredit where anggota.noang = bkredit.noang group by anggota.nmang having avg (balance) > Catt: predikat dalam klausa having diberikan setelah formasi dari group yang dimiliki oleh predikat dalam klausa where diberikan sebelum pembentukan group
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP UPDATE Bentuk Umum UPDATE update table set field = expression [, field = expression]… [where predicate];
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP UPDATE Isi nomor telepon dengan ‘ ’ untuk nomor anggota ‘A6’ update anggota set telepon = ‘ ’ where noang= ‘A6’; Beri tanda ‘Lunas’ untuk bukti kredit yang belum lunas update bkredit set tdlunas=‘Lunas’ where tdlunas is null;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP UPDATE update dengan subquery update bkredit set tdlunas = ‘Lunas’ where ‘Agus’ = (select nmang from anggota where anggota.noang = bkredit.noang);
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP DELETE Bentuk Umum DELETE DELETE FROM table [WHERE predicate];
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP DELETE Single – record delete delete from anggota where noang = ‘A5’; Multiple record delete delete from anggota where alamat =‘Ciledug’; Multiple record delete delete from anggota;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP DELETE Delete dengan satu Subquery delete from bkredit where ‘Ciledug’ = (select alamat from anggota where bkredit.noang= anggota.noang);
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP INSERT Bentuk Umum INSERT insert into table [ (field [,field]…)] values (constant [,constant]…); Atau insert into table [ (field [,field]…)] select … from … where …;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP INSERT Single – record Insert insert into anggota (noang, nmang, alamat) values (‘A8’, ’Budi’, ‘Jakarta Barang’); Single – record Insert dengan nama-nama field diabaikan insert into anggota values (‘A9’, ‘Bodang’, Banten, ‘ ’);
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP INSERT Insert dari data hasil select insert into anggota select * from anggota1 insert into anggota select * from anggota1 where cnoang not in (select noang from anggota)
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT-LIKE Retrieval dengan LIKE Tampilkan semua Anggota yang namanya dimulai dengan huruf “A” select anggota.* from anggota where anggota.nmang like ‘A%’; Tampilkan semua Anggota yang namanya mengandung huruf-huruf “n” select * from anggota where nmang like ‘%n%’;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT - NULL Retrieval melibatkan NULL Tampilkan nomor anggota untuk anggota dengan telepon kosong select noang from anggota where telepon is null; Tampilkan nomor anggota untuk anggota dengan telepon tidak kosong select noang from anggota where telepon is not null; Kondisi nilai ‘NULL’ tidak boleh dicek dengan =, >, >=, select noang from anggota where telepon=null;
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT Retrieval melibatkan satu subquery Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman kredit. select nmang from anggota where noang in (select noang from bkredit)
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT- MULTIPLE SUBQUERY Retrieval dengan Multiple Subquery Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman dan pinjaman tersebut pernah diangsur. select nmang from anggota where noang in (select noang from bkredit where nokredit in (select nokredit from angsuran));
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT- MULTIPLE SUBQUERY Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman dan pinjaman tersebut belum pernah diangsur. select nmang from anggota where noang in (select noang from bkredit where nokredit not in (select nokredit from angsuran));
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT-EXIST Query dengan EXIST Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman diatas 1 juta select nmang from anggota where exist (select * from bkredit where noang = bkredit.noang and bkredit.jmkredit> ); Query dengan NOT EXIST Kebalikan contoh diatas
FTI – UNIVERSITAS BUDI LUHUR PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP SELECT-IN Subquery dengan operator pembanding selain IN Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman diatas 1 juta select nmang from anggota where noang = (select noang from bkredit where jmkredit> ); Query dengan NOT IN Kebalikan contoh diatas