(SQL)
1
DBMS menyediakan program
khusus (utilitas) yg dapat
digunakan untuk melakukan
berbagai operasi terhadap basis
data, seperti
pembuatan/penghapusan tabel,
penambahan/pengubahan/pencaria
n/penghapusan data, dll.
Program/utilitas ini disebut dengan
Structure Query Language (SQL)
2
Kelompok perintah SQL
Data Definition Language (DDL) : kumpulan
perintah untuk membuat dan mendefinisikan
database dan struktur tabelnya.
Data Manipulation Language (DML) :
kumpulan perintah untuk melakukan
manipulasi data yg ada dlm database atau
tabel seperti : memasukkan, mengubah,
menghapus atau menampilkan kembali data.
Data control language (DDL) : kumpulan
perintah untuk pengendalian data berupa
otorisasi terhadap hak akses suatu data.
3
Kelompok perintah SQL
Data Definition Language (DDL)
– Create database, create table, drop view, drop table,
alter table.
Data Manipulation Language (DML)
– Insert, select, update, delete
Data control language (DDL)
– Revoke, grant, commit, rollback
4
KLAUSA SQL
SELECT : digunakan untuk menetapkan
daftar atribut (field) yang diinginkan
sebagai hasil query.
FROM : digunakan untuk menetapkan
tabel (gabungan tabel) yang akan
ditelusuri selama query data dilakukan.
WHERE : digunakan sebagai kriteria
yang harus dipenuhi dalam memperoleh
hasil query.
5
SQL
Sintaks ekspresi SQL dasar :
select A1,A2
from t1
where P
di mana : A1,A2,…..An = daftar atribut
t1,t2,…tm = daftar tabel
P = predikat query
6
Select
Jika kita ingin menampilkan NRP dan nama mahasiswa
yang ada di tabel mahasiswa, maka perintah SQL yang
digunakan :
select nrp, nama_mhs
from mahasiswa
Jika ada tabel asal_sekolah dengan atribut : nrp,
nama_sekolah, alamat_sekolah, kota_asal,
nrp Nama_sekolah Alamat_sekolah Kota_asal
maka kalau diinginkan tampil kota_asal dapat diberikan
perintah :
select kota_asal
from asal_sekolah
Jika ada 2 mahasiswa yang berasal dari kota yang sama,
maka kota_asal yang sama itu akan tampil 2 kali. Jika
pengulangan nama kota ini tidak diinginkan maka
perintah select menjadi : select distinct kota_asal
7
Where
Digunakan untuk menetapkan predikat atau kriteria yang
harus dipenuhi dalam memperoleh hasil query. Contoh :
select *
from mahasiswa
where nrp= ‘115030090’
* mewakili semua atribut yang dimiliki tabel mahasiswa
Akan ditampilkan semua atribut untuk mahasiswa yang
nrp 115030090
Predikat dapat menggunakan operator relasi ( <, >,
<=,>=,<>) dan operator logika (and,or,not) atu kombinasi
keduanya.
contoh :
select *
from matakuliah
where semester = 3 and sks>2
8
Untuk menampilkan record kuliah yang diselenggarakan
antara semester 3 hingga semester 5 dapat diberikan
perintah :
select *
from matakuliah
where semester between 3 and 5
Untuk data string, dapat dilakukan pencarian/searching
dengan pola tertentu dengan memanfaatkan karakter
‘%’(percent) atau ‘_’(underscore) dan tambahan klausa
like. Contoh :
select *
from mahasiswa
where nama_mhs like ‘A%’
Perintah ini untuk menampilkan record mahasiswa yang
namanya dimulai dengan huruf A. Kalau yg dicari record
mahasiswa yg huruf kedua namanya ‘a’ :
where nama_mhs like ‘_a%’
9
From
Digunakan untuk menetapkan tabel yang akan dijadikan
sebagai lokasi pencarian data. Pencarian data dapat
dilakukan pada satu atau lebih tabel. Jika pencarian data
dilakukan terhadap minimal 2 tabel, maka antara tabel-
tabel tersebut harus ada relasi. Contoh :
select *
from dosen, matakuliah
where matakuliah.kode_dos = dosen.kode_dos
Relasi yang ada antara tabel dosen dan tabel matakuliah
yaitu kode_dos pada tabel matakuliah harus sama
dengan kode_dos pada tabel dosen
Untuk menyederhanakan tulisan dapat digunakan nama
alias untuk setiap tabel. Contoh :
select *
from dosen d, matakuliah mk
where mk.kode_dos = d.kode_dos
10
Jika atribut yang ingin ditampilkan dari kedua tabel hanya
atribut tertentu, maka perintah select harus ditulis rincian
atribut yang ingin dipilih.
select mk.kode_kul,mk.nama_kul, d.nama_dos
from dosen d, matakuliah mk
where mk.kode_dos = d.kode_dos
Atribut pada klausa select akan menjadi header pada tampilan
query sbb :
mk.kode_kul mk.nama_kul d.nama_dos
IF-110 Struktur Data Dr. Umar Hakim
IF-310 Basis Data Ir. Ani S MSc.
DU-202 B.Indonesia Drs.Taufik Ismail
DK-103 Kalkulus I Dr. Umar Hakim
Agar tampilan lebih mudah dimengerti maka header dapat
diganti sbb :
select mk.kode_kul as kode, mk.nama_kul as matakuliah,
d.nama_dos as dosen
Sehingga headernya akan menjadi :
kode matakuliah dosen
IF-110 Struktur Data Dr. Umar Hakim
IF-310 Basis Data Ir. Ani S MSc.
DU-202 B.Indonesia Drs.Taufik Ismail
DK-103 Kalkulus I Dr. Umar Hakim
11
Jika data kode, matakuliah dan dosen yang ingin
ditampilkan hanya yang ada di semester 3, maka perintah
SQL adalah :
select mk.kode_kul as Kode, mk.nama_kul as Matakuliah,
d.nama_dos as dosen
from dosen d, matakuliah mk
where mk.kode_dos = d.kode_dos and mk.semester = 3
Tampilannya :
Kode Matakuliah Dosen
IF-310 Basis Data Ir. Ani S MSc.
12
Tampilannya :
NRP Nama Matakuliah Nilai
115000095 Ali Akbar Basis Data A
115000096 Indah Susanti Basis Data B
115010097 Budi Haryanto Basis Data B
115000095 Ali Akbar Struktur Data A
115010097 Budi Haryanto Struktur Data A
115000096 Indah Susanti Kalkulus A
14