Anda di halaman 1dari 14

Structured Query Language

(SQL)

Ir. Sumiarti Andri M.Kom

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.

Jika query melibatkan 3 tabel, maka relasi tabel-tabel


tersebut harus dituliskan.
Misalkan ingin ditampilkan data nrp, nama mahasiswa,
nama matakuliah dan indeks nilai, perintah SQL sbb :
select n.nrp as NRP, m.nama_mhs as Nama, mk.nama_kul
as Matakuliah, n.nilai as Nilai
from nilai n, mahasiswa m, matakuliah mk
where n.nrp=m.nrp and n.kode_kul= mk.kode_kul

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

 Pengurutan hasil query


Urutan data hasil query ditampilkan dengan urutan yang
sesuai dengan struktur penyimpanan yang diterapkan
pada tabel query. Jika struktur heap (tabel tanpa indeks
primer), maka hasil query akan ditampilkan berdasarkan
kronologis penyimpanannya. Sedangkan jika digunakan
struktur sekuensial berindeks (tabel deg indeks primer),
maka query ditampilkan sesuai dg atribut indeks
primernya.
13
Jika hasil query ingin diurutkan menurut atribut tertentu,
maka dapat digunakan printah order by. Misalkan ingin
ditampilkan record mahasiswa berdasarkan nama
mahasiswa, maka perintah SQL :
select *
from mahasiswa
order by nama_mhs
Urutan yang ditampilkan untuk nama mahasiswa
menaik/ascending. Jika ingin diurutkan menurun maka
perintahnya order by nama_mhs desc.
Contoh :
select *
from mahasiswa
order by tgl_lahir desc
Maka record mahasiswa akan ditampilkan terurut
berdasarkan tgl_lahir menurun (dari yg termuda hingga
yg tertua.

14

Anda mungkin juga menyukai