Achmad Yasid
DML (Data Manipulation Language)
Agenda
1. Pendahuluan
2. DML
3. Klausa SELECT
4. 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
Berguna untuk menampilkan isi tabel :
SELECT NAMA,ALAMAT 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
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
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’
Merupakan perintah untuk menampilkan baris dimana nama mahasiswa adalah Ali
NRP Nama Alamat Telp
090411110001 Ali JL Nangka Perumnas Kamal 031-3012456
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
SELECT KOTA FROM MAHASISWA GROUP BY KOTA
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
Kota
Bangkalan
Kamal
Surabaya
Telang
Mendalami Pernyataan SELECT (Klausa HAVING)
Klausa HAVING digunakan untuk melengkapi klausa GROUP BY
Kegunaannya adalah menentukan kondisi bagi GROUP BY
SELECT KOTA FROM MAHASISWA
GROUP BY KOTA HAVING COUNT(KOTA) > 1
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
Kota
Bangkalan
Surabaya
Mendalami Pernyataan SELECT (Fungsi AVG, COUNT, MAX, MIN dan SUM)
Menghitung jumlah mahasiswa perkota
SELECT KOTA, COUNT(KOTA) FROM MAHASISWA
GROUP BY KOTA
Fungsi Keterangan
AVG Menghitung rata-rata
COUNT Menghitung cacah
MAX Menghitung nilai terbesar
MIN Menghitung nilai terkecil
SUM Memperoleh jumlah data
Kota Count(kota)
Bangkalan 2
Kamal 1
Surabaya 2
Telang 1
Mendalami Pernyataan SELECT (Operator AND, OR, NOT, BETWEEN-AND, IN & LIKE)
Operator AND
SELECT * FROM PLOTMATAKULIAH
WHERE SEMESTER =‘Ganjil’ AND DOSENPENGAMPU=‘Kautsar’
PlotMataKuliah KodePlot KodeMK Smester TahunAkademik DosenPengampu
01001 TKC01 Ganjil 2009-2010 Kautsar
01002 TKC03 Ganjil 2009-2010 Yasid
02001 TKC02 Genap 2009-2010 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
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
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
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
SELECT * FROM MAHASISWA
WHERE NOT KOTA =‘Kamal’
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
NRP 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
SELECT * FROM KHS
WHERE NILAI_ANGKA BETWEEN 60 AND 75
KHS NRP KodePlot Nilai_Angka Nilai
090411110001 01001 80 B+
090411110001 01002 90 A
090411110002 01001 65 C
090411110003 01001 75 B
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
SELECT * FROM KHSWHERE NILAI IN (‘A’, ’B+’, ’B’)
KHS NRP KodePlot Nilai_Angka Nilai
090411110001 01001 80 B+
090411110001 01002 90 A
090411110002 01001 65 C
090411110003 01001 75 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
SELECT * FROM MAHASISWA
WHERE NAMA LIKE ‘A%’
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 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 query NRP Nama
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……….
Top Related