Chapter 7 perintah dml
-
Upload
setyady-peace -
Category
Documents
-
view
101 -
download
4
description
Transcript of Chapter 7 perintah dml
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.1FTI – UNIVERSITAS BUDI LUHUR
CHAPTER 7
DML (DATA MANIPULATION LANGUAGE)
DALAM SQL
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.2
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 KP213-1.3
Data Manipulation Language (DML)
NOANG NMANG ALAMAT TELEPON
A1 Ajie ciledug 021-585375
A2 Andi tangerang 021-123456
A3 Ani cengkareng 021-654321
A4 Ana ciledug 021-585370
A5 Agus tangerang 021-212121
A6 Angga tangerang
A7 Ade ciledug 021-585310
ANGGOTA
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.4
Data Manipulation Language (DML)
NOKREDIT TGKREDIT JMKREDIT JKWAKTU TDLUNAS NOANG
B01 10-01-2006 1.000.000 2 LUNAS A1
B02 15-01-2006 1.200.000 6 A2
B03 20-02-2006 1.500.000 2 LUNAS A5
B04 25-08-2006 1.000.000 2 LUNAS A1
B05 20-08-2006 2.000.000 5 A5
BKREDIT
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.5
Data Manipulation Language (DML)
NOANGS TGANGS JMANGS ANGSKE NOKREDIT
T01 01-02-2006 500.000 1 B01
T02 01-02-2006 200.000 1 B02
T03 01-03-2006 750.000 1 B03
T04 01-03-2006 500.000 2 B01
T05 01-03-2006 200.000 2 B02
T06 01-04-2006 750.000 2 B03
T07 01-05-2006 200.000 3 B02
T08 01-06-2006 200.000 4 B02
T09 01-09-2006 500.000 1 B04
T10 01-09-2006 1.000.000 1 B05
T11 01-10-2006 500.000 2 B04
ANGSURAN
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.6
SELECT
Bentuk umum perintah selectselect [distinct] field(s) from table(s)[where predicate][group by field(s) [having predicate]][order by field(s)];
Catatan:Predicatekondisi yang bisa diberikan
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.7
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 KP213-1.8
SELECT Tampilkan semua informasi mengenai
seluruh anggota.select * from anggota;
Retrieval dengan komputasi sederhanaTampilkan nomor anggota dan jumlah pinjaman dari semua kredit dalam dolar (uang dalam tabel bkredit menggunakan satuan rupiah).
select noang, ‘$’, jmkredit / 10000 from bkredit;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.9
SELECT Retrieval dengan Kondisi
Tampilkan nama-nama anggota untuk yang beralamat di Ciledug
select nmang from anggotawhere alamat = ‘ciledug’;
Retrieval dengan pengurutanTampilkan nama-nama anggota untuk yang beralamat di Ciledug diurutkan secara descending
select nmang from anggotawhere alamat = ‘ciledug’;order by nmang desc;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.10
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 KP213-1.11
SELECT
SQL termasuk between sebagai operator pembanding
Contoh: Tampilkan nomor angsuran dari relasi angsuran dengan jumlah angsuran antara 500,000 dan 1.000.000.
select noangs ,jmangs
from angsuranwhere jmangs between 500000 and 1000000
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.12
SELECT
Query dengan melibatkan lebih dari satu tabel
Simple EquijoinTampilkan semua kombinasi anggota dan bkredit untuk anggota yang melakukan kredit
select anggota.*, bkredit.* from anggota, bkreditwhere anggota.cnoang =
bkredit.noang
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.13
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 KP213-1.14
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 KP213-1.15
SELECT Dapatkan noang dari semua bkredit yang
mempunyai jmkredit lebih besar dari semua bkredit yang mempunyai nomor anggota A2.
select noangfrom bkreditwhere jmkredit > all
(select jmkreditfrom bkreditwhere noang=‘A2’)
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.16
SELECT Join Query dengan Kondisi Majemuk
Tampilkan semua kombinasi anggota dan kredit untuk nomor anggota yang ada di kredit dan abaikan kredit yang sudah lunasselect anggota.*, bkredit.* from anggota,bkredit
where anggota.noang=bkredit.noangand bkredit.tdlunas=‘Lunas’
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.17
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 KP213-1.18
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 KP213-1.19
FUNCTION PADA SQL Tampilkan banyaknya anggota yang ada
select count (*) from anggota;
Tampilkan banyaknya anggota yang mengajukan kreditselect count (distinct noang) from bkredit;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.20
FUNCTION PADA SQL Tampilkan jumlah kuantitas kredit yang
diajukan oleh anggota A1select sum(jmkredit) from bkredit
where noang=‘A1’; Tampilkan jumlah angsuran dari stiap
nomor kredit.select nokredit, sum(jmangs) from angsuran
group by nokredit;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.21
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 KP213-1.22
FUNCTION PADA SQL Tampilkan nama semua anggota dimana
rata-rata pinjamanya adalah lebih dari 1000000.select anggota.nmang, avg (bkredit.jmkredit) from anggota, bkredit where anggota.noang = bkredit.noang
group by anggota.nmang having avg (balance) > 1000000
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 KP213-1.23
UPDATEBentuk Umum UPDATE
update tableset field = expression[, field = expression]…[where predicate];
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.24
UPDATE Isi nomor telepon dengan ‘021-1111111’
untuk nomor anggota ‘A6’update anggota
set telepon = ‘021-1111111’ where noang= ‘A6’;
Beri tanda ‘Lunas’ untuk bukti kredit yang belum lunasupdate bkredit
set tdlunas=‘Lunas’where tdlunas is null;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.25
UPDATE
update dengan subqueryupdate bkredit
set tdlunas = ‘Lunas’where ‘Agus’ = (select nmang from
anggotawhere anggota.noang =
bkredit.noang);
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.26
DELETEBentuk Umum DELETE
DELETE FROM table[WHERE predicate];
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.27
DELETE Single – record delete
delete from anggotawhere noang = ‘A5’;
Multiple record deletedelete from anggota
where alamat =‘Ciledug’; Multiple record delete
delete from anggota;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.28
DELETE Delete dengan satu Subquery
delete from bkreditwhere ‘Ciledug’ =(select alamat from anggotawhere bkredit.noang=
anggota.noang);
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.29
INSERTBentuk Umum INSERT
insert into table [ (field [,field]…)]values (constant [,constant]…);
Atauinsert into table [ (field [,field]…)]
select … from … where …;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.30
INSERT Single – record Insert
insert into anggota (noang, nmang, alamat)
values (‘A8’, ’Budi’, ‘Jakarta Barang’); Single – record Insert dengan nama-nama
field diabaikaninsert into anggota
values (‘A9’, ‘Bodang’, Banten, ‘021-22222’);
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.31
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 KP213-1.32
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 KP213-1.33
SELECT - NULL Retrieval melibatkan NULL
Tampilkan nomor anggota untuk anggota dengan telepon kosongselect noang from anggota
where telepon is null; Tampilkan nomor anggota untuk anggota dengan
telepon tidak kosongselect noang from anggota where telepon is not null;
Kondisi nilai ‘NULL’ tidak boleh dicek dengan =, >, >=, <= atau <>select noang from anggota where telepon=null;
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.34
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 KP213-1.35
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 KP213-1.36
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 KP213-1.37
SELECT-EXIST Query dengan EXIST
Tampilkan nama-nama anggota untuk anggota yang mempunyai pinjaman diatas 1 jutaselect nmang from anggota
where exist (select * from bkredit where noang = bkredit.noang and
bkredit.jmkredit>1000000);
Query dengan NOT EXIST Kebalikan contoh diatas
FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.38
SELECT-IN
Subquery dengan operator pembanding selain IN Tampilkan nama-nama anggota untuk anggota
yang mempunyai pinjaman diatas 1 jutaselect nmang from anggota
where noang =(select noang from bkredit
where jmkredit>1000000); Query dengan NOT IN
Kebalikan contoh diatas