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

BAB IV - SQL.ppt

Embed Size (px)

DESCRIPTION

cb fcbnfcgngf

Citation preview

Page 1: BAB IV - SQL.ppt

MATERI 4:STRUKTUR QUERY LANGUAGE

(SQL)

OLEH:

NOVI YANTI, ST, M.KOM

FAKULTAS SAINS DAN TEKNOLOGI

UIN SUSKA RIAU

Page 2: BAB IV - SQL.ppt

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

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

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

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

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

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

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

Klausa where dapat dikombinasikan dengan operator :

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

Page 10: BAB IV - SQL.ppt

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

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

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

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

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

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

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

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

MEMBUAT BASIS DATA

CREATE DATABASE Nama_Database

Page 19: BAB IV - SQL.ppt

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

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

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

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