Achmad Yasid

Post on 06-Jan-2016

76 views 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 of Achmad Yasid

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