Chapter 7 perintah dml

38
PENGANTAR BASIS DATA (3 SKS) GANJIL 2008 KP213-1.1 FTI – UNIVERSITAS BUDI LUHUR CHAPTER 7 DML (DATA MANIPULATION LANGUAGE) DALAM SQL

description

 

Transcript of Chapter 7 perintah dml

Page 1: 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

Page 2: Chapter 7 perintah dml

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

Page 3: Chapter 7 perintah dml

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

Page 4: Chapter 7 perintah dml

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

Page 5: Chapter 7 perintah dml

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

Page 6: Chapter 7 perintah dml

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

Page 7: Chapter 7 perintah dml

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;

Page 8: Chapter 7 perintah dml

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;

Page 9: Chapter 7 perintah dml

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;

Page 10: Chapter 7 perintah dml

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.

Page 11: Chapter 7 perintah dml

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

Page 12: Chapter 7 perintah dml

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

Page 13: Chapter 7 perintah dml

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.

Page 14: Chapter 7 perintah dml

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’)

Page 15: Chapter 7 perintah dml

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’)

Page 16: Chapter 7 perintah dml

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’

Page 17: Chapter 7 perintah dml

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

Page 18: Chapter 7 perintah dml

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

Page 19: Chapter 7 perintah dml

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;

Page 20: Chapter 7 perintah dml

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;

Page 21: Chapter 7 perintah dml

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

Page 22: Chapter 7 perintah dml

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

Page 23: Chapter 7 perintah dml

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];

Page 24: Chapter 7 perintah dml

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;

Page 25: Chapter 7 perintah dml

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);

Page 26: Chapter 7 perintah dml

FTI – UNIVERSITAS BUDI LUHUR

PENGANTAR BASIS DATA (3 SKS)

GANJIL 2008 KP213-1.26

DELETEBentuk Umum DELETE

DELETE FROM table[WHERE predicate];

Page 27: Chapter 7 perintah dml

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;

Page 28: Chapter 7 perintah dml

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);

Page 29: Chapter 7 perintah dml

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 …;

Page 30: Chapter 7 perintah dml

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’);

Page 31: Chapter 7 perintah dml

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)

Page 32: Chapter 7 perintah dml

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%’;

Page 33: Chapter 7 perintah dml

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;

Page 34: Chapter 7 perintah dml

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)

Page 35: Chapter 7 perintah dml

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));

Page 36: Chapter 7 perintah dml

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));

Page 37: Chapter 7 perintah dml

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

Page 38: Chapter 7 perintah dml

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