achmad yasid

30
Achmad Yasid DML (Data Manipulation Language)

Upload: kimn

Post on 06-Jan-2016

75 views

Category:

Documents


0 download

DESCRIPTION

Achmad Yasid. DML (Data Manipulation Language). Agenda. Pendahuluan DML Klausa SELECT Latihan. 1. Pendahuluan. Penggolongan Statement SQL DDL (Data Definition Language) DML (Data Manipulation Language) DCL (Data Control Language). 1. Pendahuluan. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Achmad Yasid

Achmad Yasid

DML (Data Manipulation Language)

Page 2: Achmad Yasid

Agenda

1. Pendahuluan

2. DML

3. Klausa SELECT

4. Latihan

Page 3: Achmad Yasid

1. Pendahuluan

Penggolongan Statement SQL

• DDL (Data Definition Language)

• DML (Data Manipulation Language)

• DCL (Data Control Language)

Page 4: Achmad Yasid

1. Pendahuluan

• DDL (Data Definition Language) Mendefinisikan struktur database, tabel, indexes, view

• Contoh : Create Index, Drop Table

Page 5: Achmad Yasid

DDL (Data Definition Language)

Page 6: Achmad Yasid

1. Pendahuluan

• DML (Data Manipulation Language) Manipulasi data misal select, insert, update, delete data.

Page 7: Achmad Yasid

DML (Data Manipulation Language)

Page 8: Achmad Yasid

1. Pendahuluan

• DCL (Data Control Language) Berkaitan dengan keamanan data dan pemberian privileges.

• Contoh : Grant, Revoke statement

Page 9: Achmad Yasid

DCL (Data Control Language)

Page 10: Achmad Yasid

Statement SELECT

• Definisi

Page 11: Achmad Yasid

Pernyataan SELECT

Page 12: Achmad Yasid

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

Page 13: Achmad Yasid

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

Page 14: Achmad Yasid

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

Page 15: Achmad Yasid

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

Page 16: Achmad Yasid

Mendalami Pernyataan SELECT

Page 17: Achmad Yasid

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

Page 18: Achmad Yasid

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

Page 19: Achmad Yasid

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

Page 20: Achmad Yasid

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

Page 21: Achmad Yasid

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

Page 22: Achmad Yasid

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

Page 23: Achmad Yasid

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

Page 24: Achmad Yasid

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

Page 25: Achmad Yasid

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

Page 26: Achmad Yasid

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

Page 27: Achmad Yasid

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

Page 28: Achmad Yasid

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

Page 29: Achmad Yasid

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)

Page 30: Achmad Yasid

• Bersambung……….