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