SlideShare a Scribd company logo
1 of 38
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 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 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 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;
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;
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 angsuran
where 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 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 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 noang
from bkredit
where jmkredit > all
(select jmkredit
from bkredit
where 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
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 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
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 kredit
select 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 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;
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
UPDATE
Bentuk Umum UPDATE
update table
set 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 lunas
update 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 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 KP213-1.26
DELETE
Bentuk 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 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 KP213-1.28
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 KP213-1.29
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 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’);
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 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;
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 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
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

More Related Content

What's hot

Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sqlLela Warni
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Wahyu Widodo
 
Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Devi Apriansyah
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiDerina Ellya R
 
Dasar Perintah SQL
Dasar Perintah SQLDasar Perintah SQL
Dasar Perintah SQLmuhamadilvan
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINShofura Kamal
 

What's hot (6)

Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data Modul Praktikum Sistem Basis Data
Modul Praktikum Sistem Basis Data
 
Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)Laporan praktikum modul 6 (ddl)
Laporan praktikum modul 6 (ddl)
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan Normalisasi
 
Dasar Perintah SQL
Dasar Perintah SQLDasar Perintah SQL
Dasar Perintah SQL
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
 

Viewers also liked

Trademark Registration in Hyderabad
Trademark Registration in HyderabadTrademark Registration in Hyderabad
Trademark Registration in HyderabadFreeTrademarkSearch
 
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragione
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragioneEnrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragione
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragioneDailyFocusNews
 
SEO Services | Search Engine Optimization- DivyaNet
SEO Services | Search Engine Optimization- DivyaNetSEO Services | Search Engine Optimization- DivyaNet
SEO Services | Search Engine Optimization- DivyaNetDivyawebservice
 
02 week2 komponen-jar_kom
02 week2 komponen-jar_kom02 week2 komponen-jar_kom
02 week2 komponen-jar_komSetyady Peace
 

Viewers also liked (7)

Trademark Registration in Hyderabad
Trademark Registration in HyderabadTrademark Registration in Hyderabad
Trademark Registration in Hyderabad
 
04 week 4_tcp_ip
04 week 4_tcp_ip04 week 4_tcp_ip
04 week 4_tcp_ip
 
Company Formation
Company FormationCompany Formation
Company Formation
 
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragione
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragioneEnrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragione
Enrico Dal Covolo: Intervista ad Avvenire, Rinnovato dialogo tra fede e ragione
 
SEO Services | Search Engine Optimization- DivyaNet
SEO Services | Search Engine Optimization- DivyaNetSEO Services | Search Engine Optimization- DivyaNet
SEO Services | Search Engine Optimization- DivyaNet
 
Trademark a Name
Trademark a NameTrademark a Name
Trademark a Name
 
02 week2 komponen-jar_kom
02 week2 komponen-jar_kom02 week2 komponen-jar_kom
02 week2 komponen-jar_kom
 

Similar to Chapter 7 perintah dml

SQL (Structured query language).pptx
SQL (Structured query language).pptxSQL (Structured query language).pptx
SQL (Structured query language).pptxBagusSantoso44
 
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.pptfile_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.pptlumaeducation
 
Menggunakan microsoft excel 2013
Menggunakan microsoft excel 2013Menggunakan microsoft excel 2013
Menggunakan microsoft excel 2013Bhekti Agus Ryanto
 
Di2k sq lite-command-line
Di2k sq lite-command-lineDi2k sq lite-command-line
Di2k sq lite-command-linefajarnugroho_id
 

Similar to Chapter 7 perintah dml (6)

SQL (Structured query language).pptx
SQL (Structured query language).pptxSQL (Structured query language).pptx
SQL (Structured query language).pptx
 
Lapres 7 1235010002
Lapres 7 1235010002Lapres 7 1235010002
Lapres 7 1235010002
 
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.pptfile_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt
 
Menggunakan microsoft excel 2013
Menggunakan microsoft excel 2013Menggunakan microsoft excel 2013
Menggunakan microsoft excel 2013
 
Di2k sq lite-command-line
Di2k sq lite-command-lineDi2k sq lite-command-line
Di2k sq lite-command-line
 
modul basis data.docx
modul basis data.docxmodul basis data.docx
modul basis data.docx
 

Chapter 7 perintah dml

  • 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
  • 4. 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
  • 5. 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
  • 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: Predicatekondisi 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