IV - SQL.pdf

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

Transcript of IV - SQL.pdf

MATERI 4:

STRUKTUR QUERY LANGUAGE

(SQL)

OLEH:

NOVI YANTI, ST, M.KOM

FAKULTAS SAINS DAN TEKNOLOGI

UIN SUSKA RIAU

PENDAHULUAN

SQL merupakan bahasa basis data

relasional standar. Terdapat macam-macam

versi SQL. Versi aslinya pertama kali

dikembangkan oleh IBM San Jose

Research Laboratory.

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.

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.

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_Mhs

From Mahasiswa

2. Menampilkan semua data dari tabel MahasiswaSelect *

From Mahasiswa

3. Menampilkan Nama_Mhs dari tabel MahasiswaSelect Nama_Mhs

From Mahasiswa

Misalkan ada banyak mahasiswa dengan nama yang

sama, maka hanya ada satu yang tampil, perintahnya

adalah :Select distinct Nama_Mhs

From Mahasiswa

Merubah atribut Nama_Mhs menjadi Nama_MahasiswaSelect NIM, Nama_Mhs as Nama_Mahasiswa

From Mahasiswa

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

Menampilkan NIM & Nama Mahasiswa berdasarkan

tempat lahir = ’Pekanbaru’Select NIM, Nama_Mhs

From Mahasiswa

Where Tmp_Lahir=’Pekanbaru’

Output :

NIM Nama_Mhs

1830 Dewi

1870 Rina

1890 Rudi

Mahasiswa

Klausa where dapat dikombinasikan dengan

operator :

1. <, >, =, <>, <=, >=, AND, OR, NOT, |=

2. Between (diantara)

3. Like berdasarkan pola : % dan _ (underline)

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 Kode

From Nilai

Where Nilai between 65 and 80

Output :

NIM Kode

1830 TIF-001

1845 TIF-002

Nilai

Tampilkan Nama_Mhs yang diawali dengan huruf ‘R’Select Nama_Mhs

From Nahasiswa

Where Nama_Mhs like ‘R%’

Output :Mahasiswa

Nama_Mhs

Rina

Rudi

Menampilkan nama mahasiswa yang huruf keduanya adalah ‘a’

Select Nama_Mhs

From Mahasiswa

Where Nama_Mhs Like ‘_a%’

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

From r1,r2,….rn

Where P

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.

Contoh

1. Menampilkan banyak jumlah recordSelect count(*)

From Mahasiswa

2. Menampilkan banyaknya mahasiswa angkatan 2003Select count(*)

From Mahasiswa

Where 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

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

Select max(indeks_nilai)

From Nilai

Where Kode_Kul=’IF-110’

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

Select min(tgl_lahir)

From Mahasiswa

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.

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,

)

MEMBUAT BASIS DATA

CREATE DATABASE Nama_Database

MENGURUTKAN HASIL DENGAN

‘ORDER BY’

Misalkan :

Mencari data mahasiswa yang berjenis kelamin perempuan diurutkan berdasarkan NIM (urut turun)

SELECT *

FROM Mahasiswa

WHERE Mahasiswa, Jenis_Kelamin = ‘Perempuan’

ORDER BY NIM desc

............ asc

PENGELOMPOKKAN DENGAN

‘ORDER BY’

Mencari jumlah mahasiswa berdasarkan

kelompok jenis kelamin

SELECT COUNT(NIM)

FROM Mahasiswa

ORDER BY Mahasiswa, Jenis_Kelamin

Contoh :

Company_Name Amount

W3School 5500

IBM 4500

W3School 7100

Company

SELECT Company_Name,

sum(amount)

FROM Company

ORDER BY Company_Name

Output:W3 School 12600

IBM 4500

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