Transcript DML
Achmad Yasid
DML (Data Manipulation
Language)
Agenda
1.
2.
3.
4.
Pendahuluan
DML
Klausa SELECT
Latihan
1. Pendahuluan
Penggolongan Statement SQL
• DDL (Data Definition Language)
• DML (Data Manipulation Language)
• DCL (Data Control Language)
1. Pendahuluan
• DDL (Data Definition Language)
Mendefinisikan struktur database, tabel,
indexes, view
• Contoh : Create Index, Drop Table
DDL (Data Definition Language)
1. Pendahuluan
• DML (Data Manipulation Language)
Manipulasi data misal select, insert,
update, delete data.
DML (Data Manipulation Language)
1. Pendahuluan
• DCL (Data Control Language)
Berkaitan dengan keamanan data dan
pemberian privileges.
• Contoh : Grant, Revoke statement
DCL (Data Control Language)
Statement SELECT
• Definisi
Pernyataan SELECT
Pernyataan SELECT
Berguna untuk menampilkan isi tabel :
NRP
Nama
Alamat
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
031-3013765
SELECT NAMA,ALAMAT FROM MAHASISWA
Nama
Alamat
Ali
JL Nangka Perumnas Kamal
Budi
JL Telang Indah 05 Telang
Diva
JL Pahlawan 7 Bangkalan
Topan
Jl Pondok Indah 1 Surabaya
Mega
Jl A. Yani 05 Surabaya
Sely
Jl Merdeka 17 Bangkalan
Pernyataan SELECT
Untuk menampilkan semua kolom dapat menggunakan
simbol * sesudah kata sELECT
SELECT *
FROM MAHASISWA
NRP
Nama
Alamat
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
031-3013765
Pernyataan SELECT
Untuk menampilkan baris-baris tertentu, dapat
menggunakan klausa WHERE
SELECT *
FROM MAHASISWA
WHERE NAMA =‘Ali’
NRP
090411110001
Nama
Ali
Alamat
JL Nangka Perumnas Kamal
Telp
031-3012456
Merupakan perintah untuk menampilkan baris dimana nama
mahasiswa adalah Ali
Pernyataan SELECT
Beberapa operator perbandingan yang dapat digunakan
pada klausa WHERE ADALAH
=
>
<
<>
>=
<=
Sama dengan
Lebih dari
Kurang dari
Tidak sama dengan
Lebih dari atau sama dengan
Kurang dari atau sama dengan
Mendalami Pernyataan
SELECT
Mendalami Pernyataan SELECT (Klausa ORDER BY)
Mengurutkan berdasarkan suatu kolom dengan
menggunakan klausa ORDER BY
SELECT * FROM MAHASISWA ORDER BY NAMA
NRP
Nama
Alamat
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
031-3013765
Mendalami Pernyataan SELECT (Klausa GROUP BY)
Melakukan pengelompokan dengan menggunakan klausa
GROUP BY
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SELECT KOTA FROM MAHASISWA GROUP BY KOTA
Kota
Bangkalan
Kamal
Surabaya
Telang
Mendalami Pernyataan SELECT (Klausa HAVING)
Klausa HAVING digunakan untuk melengkapi klausa
GROUP BY
NRP
Nama
Alamat
Kota
Telp
Kegunaannya
adalah
menentukan
kondisi
bagi
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
GROUP
BY
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SELECT KOTA FROM MAHASISWA
GROUP BY KOTA HAVING COUNT(KOTA) > 1
Kota
Bangkalan
Surabaya
Mendalami Pernyataan SELECT (Fungsi AVG,
COUNT, MAX, MIN dan SUM)
Fungsi
Keterangan
AVG
Menghitung rata-rata
COUNT
Menghitung cacah
MAX
Menghitung nilai terbesar
MIN
Menghitung nilai terkecil
SUM
Memperoleh jumlah data
Menghitung jumlah mahasiswa perkota
SELECT KOTA, COUNT(KOTA) FROM MAHASISWA
GROUP BY KOTA
Kota
Count(kota)
Bangkalan
2
Kamal
1
Surabaya
2
Telang
1
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator AND
PlotMataKuliah
KodePlot
KodeMK
Smester
TahunAkademik
DosenPengampu
01001
TKC01
Ganjil
2009-2010
Kautsar
01002
TKC03
Ganjil
2009-2010
Yasid
02001
TKC02
Genap
2009-2010
Kautsar
SELECT * FROM PLOTMATAKULIAH
WHERE SEMESTER =‘Ganjil’ AND
DOSENPENGAMPU=‘Kautsar’
PlotMataKuliah
KodePlot
KodeMK
Smester
TahunAkademik
DosenPengampu
01001
TKC01
Ganjil
2009-2010
Kautsar
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator OR
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SELECT * FROM MAHASISWA
WHERE KOTA =‘Kamal’ OR Kota=‘Telang’
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator NOT
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SELECT * FROM MAHASISWA
WHERE
=‘Kamal’
NRP NOT KOTA
Nama
Alamat
Kota
Telp
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Mega
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Topan
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator BETWEEN-AND digunakan untuk operasi
jangkauan. Misalkan kita ingin menampilkan range nilai
angka
dari 60-75
KHS
NRP
KodePlot
Nilai_Angka
Nilai
090411110001
01001
80
B+
090411110001
01002
90
A
090411110002
01001
65
C
090411110003
01001
75
B
SELECT * FROM KHS
WHERE NILAI_ANGKA BETWEEN 60 AND 75
KHS
NRP
KodePlot
Nilai_Angka
Nilai
090411110002
01001
65
C
090411110003
01001
75
B
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator IN digunakan untuk menyatakan
keadaan “salah satu diantara” misalkan
kita ingin menampilkan nilai huruf A, B+
dan B
KHS
NRP
KodePlot
Nilai_Angka
Nilai
090411110001
01001
80
B+
090411110001
01002
90
A
090411110002
01001
65
C
090411110003
01001
75
B
SELECT * FROM KHS
WHERE NILAI IN (‘A’, ’B+’, ’B’)
KHS
NRP
KodePlot
Nilai_Angka
Nilai
090411110001
01001
80
B+
090411110001
01002
90
A
090411110003
01001
75
B
Mendalami Pernyataan SELECT (Operator AND, OR,
NOT, BETWEEN-AND, IN & LIKE)
Operator LIKE digunakan untuk pencocokan
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Abdi
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Abu
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SELECT * FROM MAHASISWA
WHERE NAMA LIKE ‘A%’
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110005
Abdi
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110004
Abu
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
SUBQUERY
Adalah query dalam query. Hasil suatu query akan dijadikan bagian query diatasnya
Contoh :
NRP
Nama
Alamat
Kota
Telp
090411110001
Ali
JL Nangka Perumnas Kamal
Kamal
031-3012456
090411110002
Budi
JL Telang Indah 05 Telang
Telang
031-3011159
090411110003
Diva
JL Pahlawan 7 Bangkalan
Bangkalan
031-3013765
090411110005
Abdi
Jl A. Yani 05 Surabaya
Surabaya
031-3013765
090411110006
Sely
Jl Merdeka 17 Bangkalan
Bangkalan
031-3013765
090411110004
Abu
Jl Pondok Indah 1 Surabaya
Surabaya
031-3013765
NRP
KodePlot
Nilai_Angka
Nilai
090411110001
01001
80
B+
090411110001
01002
90
A
090411110002
01001
65
C
090411110003
01001
75
B
SUBQUERY
SELECT NRP,NAMA FROM MAHASISWA
WHERE NRP IN
(SELECT NRP FROM KHS)
Pada contoh diatas :
SELECT NRP FROM KHS
Adalah subquery, Sedangkan,
SELECT NRP,NAMA FROM MAHASISWA
Adalah sebagai query, hasil dari subquery akan digunakan oleh
NRP
Nama
query
090411110001
Ali
090411110002
Budi
090411110003
Diva
SUBQUERY (Operator EXISTS)
Operator Exists menghasilkan True jika subquery menghasilkan baris yang
sesuai dengan yang dihasilkan query
SELECT NRP,NAMA FROM MAHASISWA
WHERE NRP IN
(SELECT NRP FROM KHS)
Dapat ditulis menjadi
SELECT NRP,NAMA FROM MAHASISWA
WHERE EXISTS
(SELECT * FROM KHS WHERE MAHASISWA.NRP = KHS.NRP)
• Bersambung……….