1. PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.1FTI – UNIVERSITAS BUDI LUHUR
CHAPTER 7
DML
(DATA MANIPULATION LANGUAGE)
DALAM SQL
2. 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
3. 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
6. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.6
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:
Predicatekondisi yang bisa diberikan
7. 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;
8. 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 sederhana
Tampilkan nomor anggota dan jumlah
pinjaman dari semua kredit dalam dolar
(uang dalam tabel bkredit menggunakan
satuan rupiah).
select noang, ‘$’, jmkredit / 10000
from bkredit;
9. 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 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;
10. 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.
11. 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 angsuran
where jmangs between 500000 and
1000000
12. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.12
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
13. 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.
14. 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’)
15. 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 noang
from bkredit
where jmkredit > all
(select jmkredit
from bkredit
where noang=‘A2’)
16. 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
lunas
select anggota.*, bkredit.* from
anggota,bkredit
where anggota.noang=bkredit.noang
and bkredit.tdlunas=‘Lunas’
17. 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 c where c.noangs=‘T05’ and
c.nokredit=b.nokredit and
b.noang=a.noang
18. 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
19. 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 kredit
select count (distinct noang) from bkredit;
20. 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 A1
select sum(jmkredit) from bkredit
where noang=‘A1’;
Tampilkan jumlah angsuran dari stiap
nomor kredit.
select nokredit, sum(jmangs) from
angsuran
group by nokredit;
21. 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
22. 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
23. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.23
UPDATE
Bentuk Umum UPDATE
update table
set field = expression
[, field = expression]…
[where predicate];
24. 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 lunas
update bkredit
set tdlunas=‘Lunas’
where tdlunas is null;
25. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.25
UPDATE
update dengan subquery
update bkredit
set tdlunas = ‘Lunas’
where ‘Agus’ = (select nmang from
anggota
where anggota.noang =
bkredit.noang);
26. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.26
DELETE
Bentuk Umum DELETE
DELETE FROM table
[WHERE predicate];
27. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.27
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;
28. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.28
DELETE
Delete dengan satu Subquery
delete from bkredit
where ‘Ciledug’ =
(select alamat from anggota
where bkredit.noang= anggota.noang);
29. FTI – UNIVERSITAS BUDI LUHUR
PENGANTAR BASIS DATA (3 SKS)
GANJIL 2008 KP213-1.29
INSERT
Bentuk Umum INSERT
insert
into table [ (field [,field]…)]
values (constant [,constant]…);
Atau
insert into table [ (field [,field]…)]
select … from … where …;
30. 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 diabaikan
insert into anggota
values (‘A9’, ‘Bodang’, Banten, ‘021-
22222’);
31. 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)
32. 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%’;
33. 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 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 =, >, >=,
<= atau <>
select noang from anggota where telepon=null;
34. 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)
35. 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));
36. 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));
37. 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 juta
select nmang from anggota
where exist
(select * from bkredit
where noang = bkredit.noang and
bkredit.jmkredit>1000000);
Query dengan NOT EXIST
Kebalikan contoh diatas
38. 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 juta
select nmang from anggota
where noang =
(select noang from bkredit
where jmkredit>1000000);
Query dengan NOT IN
Kebalikan contoh diatas