bab iv sql

22
MATERI 4: STRUKTUR QUERY LANGUAGE (SQL) OLEH: NOVI YANTI, ST, M.KOM FAKULTAS SAINS DAN TEKNOLOGI UIN SUSKA RIAU

Upload: dogie-junior

Post on 14-Dec-2014

151 views

Category:

Education


6 download

DESCRIPTION

vgdgreg

TRANSCRIPT

Page 1: Bab iv   sql

MATERI 4:STRUKTUR QUERY LANGUAGE

(SQL)

OLEH:

NOVI YANTI, ST, M.KOM

FAKULTAS SAINS DAN TEKNOLOGI

UIN SUSKA RIAU

Page 2: Bab iv   sql

PENDAHULUAN

SQL merupakan bahasa basis data relasional standar. Terdapat macam-macam

versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose

Research Laboratory.

Page 3: Bab iv   sql

BAHASA SQL

• Data Definition Language (DDL)DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi.

• Data-Manipulation Language (DML)DML merupakan bahasa Query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.

Page 4: Bab iv   sql

STRUKTUR DASAR SQL

1. KLAUSA SELECT

berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu Query.

Page 5: Bab iv   sql

Contoh :

NIM# Nama_Mhs Alamat Tmp_Lahir Tgl_Lahir J_Kelamin

1830 Dewi Jl. Garuda Pekanbaru 20/Des/1983 Perempuan

1845 Made Jl. Mutiara Denpasar 28/Okt/1982 Laki-laki

1870 Rina Jl. Gagak Pekanbaru 27/Sep/1981 Perempuan

1890 Rudi Jl. Beringin Pekanbaru 01/Okt/1980 Laki-laki

Mahasiswa

1. Menampilkan NIM & Nama_Mhs dari tabel MahasiswaSelect NIM, Nama_MhsFrom Mahasiswa

2. Menampilkan semua data dari tabel MahasiswaSelect *From Mahasiswa

3. Menampilkan Nama_Mhs dari tabel MahasiswaSelect Nama_MhsFrom Mahasiswa

Page 6: Bab iv   sql

Misalkan ada banyak mahasiswa dengan nama yang sama, maka hanya ada satu yang tampil, perintahnya adalah :

Select distinct Nama_MhsFrom Mahasiswa

Merubah atribut Nama_Mhs menjadi Nama_MahasiswaSelect NIM, Nama_Mhs as Nama_MahasiswaFrom Mahasiswa

Page 7: Bab iv   sql

2. KLAUSA WHERE

berhubungan dengan operasi Cartesian-product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu Query.

NIM# Nama_Mhs J_Kelamin Tmp_Lahir

1830 Dewi Perempuan Pekanbaru

1845 Made Laki-laki Denpasar

1870 Rina Perempuan Pekanbaru

1890 Rudi Laki-laki Pekanbaru

Mahasiswa

Page 8: Bab iv   sql

Menampilkan NIM & Nama Mahasiswa berdasarkan tempat lahir = ’Pekanbaru’

Select NIM, Nama_MhsFrom MahasiswaWhere Tmp_Lahir=’Pekanbaru’

Output :

NIM Nama_Mhs

1830 Dewi

1870 Rina

1890 Rudi

Mahasiswa

Page 9: Bab iv   sql

Klausa where dapat dikombinasikan dengan operator :

1. <, >, =, <>, <=, >=, AND, OR, NOT, |=2. Between (diantara)3. Like berdasarkan pola : % dan _ (underline)

Page 10: Bab iv   sql

Contoh

NIM Kode_Matkul Nilai

1830 TIF-001 70

1845 TIF-002 80

1870 TIF-001 50

Nilai

Tampilkan NIM, Kode_Matkul as Kode dai nilai 65 ≤ nilai ≤ 80Select NIM, Kode_Matkul as KodeFrom NilaiWhere Nilai between 65 and 80

Output :

NIM Kode

1830 TIF-001

1845 TIF-002

Nilai

Page 11: Bab iv   sql

Tampilkan Nama_Mhs yang diawali dengan huruf ‘R’Select Nama_MhsFrom NahasiswaWhere Nama_Mhs like ‘R%’

Output :Mahasiswa

Nama_Mhs

Rina

Rudi

Menampilkan nama mahasiswa yang huruf keduanya adalah ‘a’

Select Nama_MhsFrom MahasiswaWhere Nama_Mhs Like ‘_a%’

Page 12: Bab iv   sql

3. KLAUSA FROM

berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atributatribut dari relasi yang muncul dalam klausa from.

Sebuah Query SQL biasanya mempunyai bentuk :Select A1,A2,…..AnFrom r1,r2,….rnWhere P

Page 13: Bab iv   sql

FUNGSI FUNGSI AGREGASI

•Average : avg menghitung nilai rata-rata•Minimum : min mencari nilai minimum•Maximum : max mencari nilai maksimum•Sum : sum menghitung nilai penjumlahan•Count : count menghitung jumlah data

Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik.

Page 14: Bab iv   sql

Contoh

1. Menampilkan banyak jumlah record Select count(*)From Mahasiswa

2. Menampilkan banyaknya mahasiswa angkatan 2003Select count(*)From MahasiswaWhere Angkatan like ‘2003%’

3 Menampilkan total SKS untuk kuliah di semester 2 : Select sum(sks)From Mahasiswa

Where semester=2

4. Menampilkan rata-rata sks untuk semua mata kuliah : Select avg(sks)

From Kuliah

Page 15: Bab iv   sql

5. Menampilkan indeks nilai terbesar yang diperoleh mahasiswa untuk mata kuliah dengan kode kuliah ‘IF-110’ :

Select max(indeks_nilai)From NilaiWhere Kode_Kul=’IF-110’

6. Menampilkan tanggal lahir paling tua yang ada pada tabel mahasiswa :

Select min(tgl_lahir)From Mahasiswa

Page 16: Bab iv   sql

BAHASA DEFINISI DATA(DATA – DEFINITION LANGUAGE)

DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi tetapi juga informasi untuk setiap relasi, yang meliputi :

– Skema setiap relasi– Domain nilai setiap atribut relasi– Konstrain integritas– Himpunan indeks untuk setiap relasi– Sekuriti dan autorisasi setiap relasi– Struktur penyimpanan secara fisik untuk setiap relasi

dalam disk.

Page 17: Bab iv   sql

MEMBUAT TABEL

CREATE TABLE nama_tabel(

atribut1 type data1;atribut2 type data2;...

)

Contoh :CREATE TABLE Mahasiswa(

NIM char(4),Nama_Mhs varc har,Alamat varchar,

)

Page 18: Bab iv   sql

MEMBUAT BASIS DATA

CREATE DATABASE Nama_Database

Page 19: Bab iv   sql

MENGURUTKAN HASIL DENGAN ‘ORDER BY’

Misalkan :Mencari data mahasiswa yang berjenis kelamin

perempuan diurutkan berdasarkan NIM (urut turun)

SELECT *FROM MahasiswaWHERE Mahasiswa, Jenis_Kelamin = ‘Perempuan’ORDER BY NIM desc............ asc

Page 20: Bab iv   sql

PENGELOMPOKKAN DENGAN ‘ORDER BY’

Mencari jumlah mahasiswa berdasarkan kelompok jenis kelamin

SELECT COUNT(NIM)

FROM Mahasiswa

ORDER BY Mahasiswa, Jenis_Kelamin

Page 21: Bab iv   sql

Contoh :

Company_Name Amount

W3 School 5500

IBM 4500

W3 School 7100

Company

SELECT Company_Name, sum(amount)FROM CompanyORDER BY Company_Name

Output:W3 School 12600IBM 4500

Page 22: Bab iv   sql

Tampilkan amount dengan angka > 10000

SELECT Company_Name, sum(amount)

FROM Company

ORDER BY Company_Name

Having sum(amount) > 10000

Output :

Company_Name Amount

W3 School 12600