0% menganggap dokumen ini bermanfaat (0 suara)
28 tayangan98 halaman

Materi SQL Access

Dokumen ini menjelaskan tentang Structured Query Language (SQL) dan penggunaannya dalam Database Management System (DBMS) seperti ACCESS 2003. Terdapat penjelasan mengenai perjanjian penulisan SQL, jenis-jenis perintah SQL, serta cara menjalankan perintah SQL dan penggabungan tabel. Selain itu, dokumen ini juga memberikan contoh perintah SQL dan tugas yang berkaitan dengan pengolahan data dalam database.

Diunggah oleh

erba lutfina
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
28 tayangan98 halaman

Materi SQL Access

Dokumen ini menjelaskan tentang Structured Query Language (SQL) dan penggunaannya dalam Database Management System (DBMS) seperti ACCESS 2003. Terdapat penjelasan mengenai perjanjian penulisan SQL, jenis-jenis perintah SQL, serta cara menjalankan perintah SQL dan penggabungan tabel. Selain itu, dokumen ini juga memberikan contoh perintah SQL dan tugas yang berkaitan dengan pengolahan data dalam database.

Diunggah oleh

erba lutfina
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 98

Structure Query Language

Perjanjian
 ACCESS tidak membedakan huruf
besar atau kecil (case insensitive)
 Semua sama : SELECT, select, Select
 Termasuk Nama Object : SISWA,
siswa, Siswa dianggap sama
 kecuali

LITERAL menggunakan tanda “…”,
tergantung penulisan: “Ini”, “INI”,”ini”
dianggap berbeda
Perjanjian
 String adalah sesuatu yang berada
dalam/diapit tanda petik ganda atau
tunggal
 Nama obyek tidak boleh mengandung spasi
 Jika terpaksa menggunakan spasi, maka dapat
menggunakan tanda kurung persegi [ ... ]
 Contoh : [Nama Depan], [Dosen Pembimbing]
 Dalam contoh program, key word (ditulis
sesuai dengan yang tertulis) dicetak dalam
huruf besar (boleh ditulis huruf kecil)
 Contoh : SELECT kolom FROM tabel WHERE a=b
Perjanjian
 String, bilangan dapat digabung
dengan tanda gabung ampersand (&)
 “Nama : “ & nama & “ umur “ & umur
 Setiap perintah SQL harus diakhiri
dengan tanda titik koma (;)
 Kecuali yang dituliskan sebagai string
parameter pada suatu bahasa
pemrograman tertentu, tidak diperlukan
tanda titik koma
 ACCESS 2003 juga tidak memerlukan
tanda titik koma
Tabel - Database
 Pada percobaan-percobaan berikut
akan menggunakan DBMS ACCESS
2003
 Nama Database Siswa.mdb
 Nama-nama Tabel
 Siswa  Data Master
 Dosen  Data Master
 TA  Data Transaksi
 Jurusan  Data Master
 Dual  Dummy Table
Konsep: ERD
Jurusan
1 Sekjur
1

Kode
1 1
Kajur
1 Jurusan 1

Jurusan Jurusan
Siswa Dosen
NIP
Nama Alamat N N
Nama

NRP A
Perwalian
WALI
SISW
Siswa N 1 Dosen
G
BI
N M BIN Gaji
Kelas M
BI BI
M
N M
GA
N
TA PE N
Lahir Umur 1 Alamat
Atasan
Judul
Implementasi: Tabel
Pendahuluan
 SQL - Standard Database Relasi
 SQL  Structured Query Language
 SEQUEL  Structured English
QUEry Language
 Perintah untuk operasi Database
dalam bentuk
 Berupa satu perintah tunggal untuk
satu operasi yang ditulis dalam satu
baris (biasanya) perintah
DBMS
 DBMS - Database Management System
 Software untuk manajemen database
 Software yang disertakan pembuat
database/pihak lain untuk menjalankan
sistem database
 Secara umum, kalau mengatakan
DBMS, artinya

File Database

Database Engine/Server Database

Perintah-perintah Database (SQL atau
lainnya)

Administrasi Database

Dan sebagainya
DBMS dan SQL
 SQL dalam DBMS tertentu tidak dapat
murni mengikuti standard SQL karena
 Tergantung DBMS
 Tergantung Kemampuan
 Tergantung Riwayat/Sejarah
 Akibatnya, secara umum
 Sebagian SQL akan standard/sama untuk
semua DBMS
 Sebagian SQL akan berbeda untuk semua
DBMS
 Diperlukan pengetahuan tertendiri untuk
Apakah tidak bisa
mengoperasikan database tanpa
SQL ?
 Cara umum untuk menjalankan
database tanpa perintah SQL adalah
dengan menggunakan cara Navigasi
Database atau RecordSet

Membuka Tabel

Menentukan Filter

Mencari

Mengubah/Menghapus/Menambah data

Bergeser/berpindah/navigasi pointer/cursor
naik atau turun

Mendeteksi awal atau akhir record (baris)

Menutup tabel
 Sering juga dikenal dengan nama Cursor
Mengapa Harus SQL ?
Apa kelebihan SQL ?
 SQL adalah perintah yang berbentuk satu
perintah untuk satu proses/operasi database
 Lebih mudah memberikan perintah dibandingkan
harus mengoperasikan database (misalkan
dengan cara navigasi)
 Memiliki variasi perintah yang cukup banyak
 Memungkinkan melakukan operasi yang sangat
beragam
 Standard, mudah mengoperasikan SQL pada
berbagai jenis DBMS (seharusnya)
 Saat ini, kompatibilitasnya masih terbatas
Pembagian Kelompok
Perintah SQL
 Data Retrieval  Digunakan untuk
mengambil/membaca Database

SELECT
 DDL (Data Definition Language)  Digunakan
untuk menyatakan suatu Database

CREATE, ALTER, DROP, RENAME, TRUNCATE
 DML (Data Manipulation Language)  Digunakan
untuk pengubahan Database

INSERT, UPDATE, DELETE, MERGE
 Transaction Control  Digunakan untuk
mengendalikan Transaksi

COMMIT, ROLLBACK, SAVEPOINT
 DCL (Data Control Language)  Digunakan untuk
mengendalikan Database

GRANT, REVOKE
Menjalankan Perintah SQL
pada MSACCESS 2003

Klik Dua Kali

Pilih

Tekan
Editor Query

Klik

Ketik perintah
SQL di sini
Memasukkan Perintah SQL

Klik untuk
Menjalankan
Perintah SQL

Ketik perintah
SQL di sini
Klik pada Panah untuk
kembali ke Mode Perintah SQL
Hasil Query

Klik SQL View

Hasil Menjalankan
Perintah SQL
Contoh Perintah SQL
 Melihat seluruh isi suatu tabel

SELECT * FROM siswa;
 Melihat hanya sebagian kolom dari suatu tabel

SELECT nama,alamat FROM siswa;
 Melihat sekaligus melakukan operasi pada suatu
kolom dan memberikan alias pada suatu kolom

SELECT nama AS Dosen,gaji,gaji*0.10 AS Bonus FROM
dosen;
 Melakukan penggabungan dengan suatu literal
dan kolom

SELECT “Nama : “ & nama FROM siswa;
 Mengambil hanya nilai-nilai yang
berbeda/membatasi hasil yang muncul (semua
siswa bekerja pada jurusan apa saja)

SELECT DISTINCT jurusan FROM siswa;
Selesai....
[email protected]
om
Tugas
(dikumpulkan 4 Jan 2017)
Terima kasih ...
Selamat Tahun Baru 2017,
dan Semoga Nilai UAS
Memuaskan
Soal/Tugas
 Tampilkan gaji semua dosen dalam
bentuk rupiah
 Contoh
 Nama Gaji
 ANDI Rp. 5000000
 Daftar gaji pada tabel dalam dollar
 Tampilkan Kemungkinan nilai
nominal gaji berapa saja yang
dibayarkan
Klausa WHERE - Seleksi
 Memilih baris data mana saja yang akan
ditampilkan (seleksi)
 Format :

SELECT *|{[DISTINCT] kolom|ekspresi [AS alias],…}
FROM table [WHERE kondisi];
 WHERE menyatakan batasan apa saja yang
diberikan
 Kondisi :

Perbandingan - =, <>, >, <. <=, >=

Range - IN(…), BETWEEN … AND …

Boolean - AND, OR, NOT

NULL - IS NULL, IS NOT NULL

Kemiripan Like ? Untuk satu huruf, * untuk
Contoh Klausa WHERE
 Perbandingan - =, <>, >, <. <=,
>=
 SELECT * FROM dosen WHERE
nama=“Joko”
 SELECT * FROM dosen WHERE gaji>200
 Range - IN(…), BETWEEN … AND …
 SELECT * FROM siswa WHERE kelas
BETWEEN 2 AND 3
 Boolean - AND, OR, NOT
 SELECT * FROM data WHERE a=10 AND
b=20
Contoh Klausa WHERE
(lanj.)
 NULL - IS NULL, IS NOT NULL
 SELECT * FROM dosen WHERE atasan IS

NULL
 Kemiripan LIKE ? Untuk satu huruf, * untuk
semua/segala
 SELECT * FROM siswa WHERE nama LIKE "?ntok
Maringis"
 SELECT * FROM siswa WHERE nama LIKE “B*”
 SELECT * FROM siswa WHERE nama LIKE “?A*”
Soal/Tugas
 Tampilkan daftar siswa kelas 2 dan
3
 Cari daftar mahasiswa yang
memiliki kata wati pada namanya
dan tampilkan hanya nama dan
alamatnya
Klausa ORDER BY
 Menyatakan hasil akan diurutkan
menurut kolom mana (bisa lebih
dari satu kolom)
 ASC (atau tidak disebutkan/default)
menyatakan urutan naik
 DESC menyatakan urutan turun
 Format :
 SELECT *|{[DISTINCT] kolom|ekspresi
[AS alias],…} FROM table [WHERE
kondisi] [ORDER BY kolom [ASC|
DESC]];
Contoh Perintah SQL
 Membaca data semua siswa dengan kelas 3

SELECT * FROM siswa WHERE kelas=3;
 Membaca data lengkap siswa dengan nama
Dimas Ananto

SELECT * FROM siswa WHERE nama="Dimas Ananto";
 Membaca dosen yang memiliki gaji >= 200 dollar

SELECT * FROM dosen WHERE gaji>=200;
 Membaca data dosen memiliki gaji dari 100
sampai 200 dollar

SELECT * FROM dosen WHERE gaji BETWEEN 100 AND
200;
 Membaca data siswa yang memiliki huruf kedua
dari nama adalah ‘D’, dan urutkan berdasarkan
nama dengan urutan menurun

SELECT * FROM siswa WHERE nama like "?D*“ ORDER
BY nama DESC;
Fungsi Single-Row
 Input fungsi dari satu baris/record, dan
menghasilkan satu per baris
 Input banyak baris, menghasilkan
banyak baris yang sama
 Mengolah data items
 Dapat menerima argumen dan
menghasilkan satu nilai
 Mengeluarkan nilai untuk setiap baris data
 Dapat mengubah tipe data
 Dapat dalam bentuk bersarang (nested)
 Dapat menerima argumen berupa data
kolom atau suatu ekspresi
Contoh Fungsi Single-row
 Karakter (lcase, ucase, initcap, concat, instr)

SELECT lcase(nama) FROM dosen;
 Bilangan (cint, int, mod)

SELECT gaji,cint(gaji/100) FROM dosen;
 Tanggal (now, date, time, add_months,
round, trunc)

SELECT now,now+1 AS besok FROM dual;
 Konversi implisit, atau eksplisit (val, cdate,
cstr)

SELECT format(date,"dd-mm-yyyy") FROM dual;
Soal/Tugas
 Tampilkan tanggal 1 minggu
kemudian
 Tampilkan Nama dan Tanggal
Lahir dengan format DD-MM-YYYY
dari siswa yang tidak memiliki
dosen wali
Fungsi Multi-Row
 Melakukan operasi pada
sekelompok baris data untuk
menghasilkan sebuah data
 Input fungsi dari banyak baris,
menghasilkan satu atau banyak
baris (Gouping, Fungsi Agregat)
Contoh Fungsi Multi-row
 count(*)
 count(nama_kolom)
 Sum(nama_kolom)
 Min(nama_kolom)
 max(nama_kolom)
 avg(nama_kolom)
Soal/Tugas
 Hitung jumlah seluruh siswa
 Hitung jumlah pegawai yang tidak
memiliki atasan
 Hitung total gaji dosen dalam rupiah
 Berapa gaji terendah, gaji tertinggi
dan rata-rata gaji dosen
 Hitung jumlah siswa tiap jurusan
 Hitung total gaji dosen tiap jurusan
Menggabungkan Tabel
(Join)
 Alasan
 Sering diperlukan melakukan beberapa
operasi database untuk mendapatkan
suatu informasi yang diinginkan
 Perintah SQL dibatasi hanya berupa satu
perintah/operasi saja untuk
mendapatkan suatu hasil yang
diinginkan

Tidak dapat menggunakan beberapa
perintah/operasi sekaligus

Diperlukan cara untuk menggabungkan
beberapa perintah/operasi menjadi satu
perintah/operasi tunggal
Contoh Alasan Join
 Pertanyaan
 Siapa nama dosen wali dari siswa yang
namanya Yuliwati
 Jawab

Cari Dosen Wali Yuliwati dari tabel Siswa

SELECT [dosen wali] FROM siswa WHERE nama=
“Yuliwati”
 Ternyata informasi Dosen Wali dari tabel
Siswa masih dalam bentuk Kode NIP=1235
 Cari mama Dosen Wali pada tabel Dosen
menggunakan kunci pencarian NIP

SELECT nama FROM dosen WHERE NIP=1235
Contoh Alasan Join (lanj.)
 Dengan menggunakan join,
pertanyaan sebelumnya dapat dicari
dengan sekali perintah/proses saja
 Cari nama dosen wali siswa dari tabel
siswa sekaligus tabel dosen, yang nama
siswa=“Yuliwati” dan kode dosen wali
siswa = kode NIP dari dosen
 SELECT s.Nama as Siswa, d.Nama as Wali
FROM siswa as s, dosen as d WHERE
s.nama=“Yuliwati” AND s.wali=d.nip
Join (lanjutan)
 Kegunaan :
 Digunakan untuk menampilkan dari
banyak tabel
 Mengkombinasikan seluruh
kemungkinan data antar banyak tabel
 Mendapatkan informasi yang
tersimpan pada tabel lain (melakukan
relasi antara satu tabel dengan tabel
lainnya)
Jenis Join
 Cross/kartesian join
 inner/equi join
 natural join
 join using
 non equi join
 outer join
 left outer join
 right outer join
 full outer join

ACCESS 2003 tidak memiliki Full Outer Join
 self join
Kartesian/Cross Join
 Digunakan untuk mendapatkan
berbagai kemungkinan kombinasi
 Hasil Join
 Kolom berupakan gabungan dari
semua tabel yang di-join

Baris merupakan semua kombinasi
(jumlah perkalian) dari semua baris
yang di-join
 Contoh

SELECT * FROM siswa, dosen
Contoh : Cross Join

 SELECT * FROM A, B
 Kolom dijadikan satu antara A dan B
 Baris data dikombinasikan (4x4=16)
Inner/Equi Join
 Digunakan untuk mendapatkan
informasi dari beberapa tabel
berdasar relasi yang sesuai
 Inner artinya informasi relasi ada pada
setiap tabel
 SELECT * FROM siswa INNER JOIN dosen
ON siswa.wali=dosen.nip
 Equi artinya relasi dinyatakan dengan
bentuk persamaan (sama dengan, =)
 SELECT * FROM siswa, dosen WHERE
wali=nip
Contoh : Inner/Equi Join
 SELECT * FROM A INNER JOIN B ON
A.X=B.V
 SELECT * FROM A, B WHERE A.X=B.V
 Hasil baris, nilai X yang sama dengan V
Inner/Non Equi Join
 Sama dengan Inner/Equi Join, hanya
menggunakan bentuk pertidak samaan,
atau sering dalam bentuk range
 Inner Join

SELECT * FROM siswa INNER JOIN dosen ON
siswa. wali>dosen.nip
 Non Equi Join artinya relasi dinyatakan
dengan bentuk pertidaksamaan (>, <,
<>, >=,<=)

SELECT * FROM nilai,konversi WHERE
na>=min AND na<=max

SELECT * FROM nilai,konversi WHERE na
BETWEEN min AND max
Natural Join
 none
Join Using
 none
Outer Join
 Digunakan untuk mendapatkan
informasi dari suatu tabel yang
data-nya sesuai dan tidak sesuai
Left Outer Join
 Mencari informasi yang relasi ada
pada ke dua sisi tabel dan yang
relasi tabel yang data pada sisi kiri
tidak dijumpai pada sisi kanan
 Tampilkan data siswa yang memiliki
dosen wali sekaligus yang tidak

SELECT * FROM siswa LEFT JOIN dosen
ON siswa.wali=dosen.nip
Contoh : Left Outer Join
 SELECT * FROM A LEFT JOIN B ON
A.X=B.V
 Seluruh data A ditampilkan dan data B
yang sesuai dengan relasi X=V
 Yang tidak sesuai, kosongkan
Right Outer Join
 Mencari informasi yang relasi ada
pada ke dua sisi tabel dan yang
relasi tabel yang data pada sisi
kanan tidak dijumpai pada sisi kiri
 Tampilkan data dosen yang
sebagai dosen wali dan yang tidak
 SELECT * FROM siswa RIGHT JOIN
dosen ON siswa.wali=dosen.nip;
Contoh : Right Outer Join
 SELECT * FROM A RIGHT JOIN B ON
A.X=B.V
 Seluruh data B ditampilkan dan data A
yang sesuai dengan relasi X=V
 Yang tidak sesuai, kosongkan
Full Outer Join
 none
Self Join
 Sama dengan join lainnya, hanya
melibatkan tabel yang sama
 SELECT d.nama as Dosen, a.nama
as Atasan FROM dosen as d, dosen
as a WHERE d.atasan=a.nip
Contoh Join
 Kartesian, untuk mendapatkan seluruh kombinasi data

SELECT * FROM siswa, dosen;
 Inner, relasi antar tabel dengan nilai data yang sama
tepat

SELECT * FROM siswa INNER JOIN dosen ON
siswa.wali=dosen.nip
 Nonequijoin, untuk mencari/membandingkan nilai
antara

SELECT * FROM nilai,konversi WHERE na>=min AND
na<=max;
 outer join, relasi dengan tabel yang kemungkinan nilai
datanya tidak ada

SELECT * FROM siswa LEFT JOIN dosen ON
siswa.wali=dosen.nip;
 self join, relasi dengan diri sendiri

SELECT d.nama as Dosen, a.nama as Atasan FROM dosen as
d, dosen as a WHERE d.atasan=a.nip
Soal/Tugas
 Tampilkan Nama siswa lengkap
dengan nama Jurusan
 Tampilkan Nama siswa pada
Jurusan “Elektronika” dan “Elektro
Industri”
 Tampilkan Nama siswa yang ketua
jusannya “Mamat Darmawan”
Klausa GROUP BY
 Mengoperasikan sekelompok baris
data menjadi bentuk group data
 Fungsi Group (Multi-row Function)
 AVG, COUNT, MAX, MIN, SUM, …
 Format :
 SELECT [kolom,] fungsi_group(kolom),
… FROM tabel [WHERE kondisi]
[GROUP BY kolom] [HAVING
kondisi_group] [ORDER BY kolom];
Aturan Group
 Penggunaan Multi-row Function tidak
harus menggunakan klausa GROUP
BY
 Contoh
 SELECT max(kelas) FROM siswa GROUP
BY jurusan
 Boleh
 SELECT count(*) FROM siswa
 SELECT sum(gaji) AS [Total Gaji], min(gaji)
AS [Gaji Terendah], max(gaji) AS [Gaji
Aturan Group (lanjutan)
 Penggunaan Single-row Function
bersama-sama dengan Multi-row
Function harus menggunakan klausa
GROUP BY

List pada GROUP BY sama dengan semua
Single-row Function yang digunakan
 Contoh

SELECT jurusan,sum(gaji) FROM dosen
GROUP BY jurusan
 Salah

SELECT kelas,count(*) FROM siswa
Aturan Group (lanjutan)
 Penggunaan klausa GROUP BY harus
menggunakan Multi-row Function
 Contoh
 SELECT count(*) FROM siswa GROUP BY
kelas
 Salah
 SELECT nama FROM siswa GROUP BY
jurusan
Aturan Group (lanjutan)
 Penggunaan klausa GROUP BY
tidak harus menggunakan Single-
row Function
 Contoh
 SELECT wali, count(nama) FROM
siswa GROUP BY wali
 Boleh
 SELECT count(*) FROM siswa GROUP
BY kelas
Klausa HAVING
 Identik dengan klausa WHERE
 Digunakan untuk membatasi
jumlah /memilih baris yang tampil
 Klausa WHERE digunakan pada
operasi Single-row
 Klausa HAVING digunakan pada
operasi Multi-row
Aturan Klausa HAVING
 Penggunaan klausa GROUP BY tidak
harus menggunakan klausa HAVING
 Contoh
 SELECT count(*) FROM siswa GROUP BY
kelas HAVING count(*)>10
 Boleh
 SELECT count(*) FROM siswa GROUP BY
kelas
Aturan Klausa HAVING
(lanj.)
 Penggunaan klausa HAVING tidak
harus menggunakan GROUP BY
 Contoh

SELECT sum(gaji) FROM dosen GROUP
BY jurusan HAVING sum(gaji)>500
 Boleh

SELECT count(*) FROM siswa HAVING
count(*)>10
Aturan Klausa HAVING
(lanj.)
 Seleksi Single-row harus
menggunakan klausa WHERE
 Contoh
 SELECT sum(gaji) FROM dosen
GROUP BY jurusan WHERE jurusan=1
 Salah

SELECT sum(gaji) FROM pegawai GROUP
BY jurusan HAVING jurusan=1
Aturan Klausa HAVING
(lanj.)
 Seleksi Multi-row harus
menggunakan Klausa HAVING
 Contoh

SELECT sum(gaji) FROM dosen GROUP
BY jurusan HAVING sum(gaji)<500
 Salah

SELECT sum(gaji) FROM dosen GROUP
BY jurusan WHERE sum(gaji)<500
Contoh Group
 Menghitung jumlah dosen setiap jurusan dan
mengurutkan hasilnya berdasar nomor
jurusan

SELECT Jurusan,count(nip) as Jumlah FROM dosen
GROUP BY jurusan ORDER BY jurusan;
 Menghitung total gaji pegawai dari
departemen nomor 2, 3, dan 4, tetapi hanya
menampilkan yang total setiap jurusannya
lebih besar dari 500 dollar

SELECT Jurusan,sum(sal) as [Total Gaji] FROM
dosen WHERE jurusan IN(2,3,4) GROUP BY jurusan
having sum(sal)>500 ORDER BY jurusan;
Soal/Tugas
 Tampilkan total gaji dalam rupiah
yang harus dibayarkan pada
jurusan “Elektronika” dan “Teknik
Komputer”
 Tampilkan Jumlah siswa tiap
Jurusan lengkap dengan nama
Jurusan-nya
Subquery
 Mencari sesuatu yang berasal dari hasil
query lainnya
 Petunjuk

Subquery diawali dengan kurung buka dan
diakhiri dengan kurung tutup

Subquery diletakkan pada sisi kanan dari suatu
perbandingan

Penggunaan order by dalam subquery tidak
diperlukan, kecuali untuk melakukan analisa
top-n

Gunakan operator yang sesuai dengan hasil dari
subquery. Single-row operator dengan single-
row subquery, multiple-row operator dengan
multiple-row subquery
Contoh Subquery
 Siapa saja pegawai yang gajinya lebih besar dari
gaji Adam ? Untuk itu, harus dicari dulu, berapa gaji
Adam ?

SELECT * FROM dosen WHERE gaji>(SELECT gaji FROM
dosen WHERE nama="Permata Sari");
 Hasil subquery harus satu baris, menggunakan
perbandingan

SELECT * FROM dosen WHERE gaji=(SELECT gaji FROM
dosen WHERE nama="Permata Sari");
 Hasil subquery boleh banyak baris, menggunakan
range

SELECT * FROM dosen WHERE gaji in (SELECT gaji FROM
dosen WHERE jurusan=2)
 Salah, karena operator perbandingan digunakan
pada subquery yang menghasilkan banyak baris

SELECT * FROM dosen WHERE gaji=(SELECT gaji FROM
Soal/Tugas
 Tampilkan Nama siswa yang
memiliki satu jurusan dengan
siswa yang bernama “Titik
Priyanti”
Inline View
 Digunakan untuk mengantikan list
Tabel menjadi perintah QUERY
 Untuk melakukan operasi yang
tidak berasal dari tabel aslinya
 Menyederhanakan perintah yang
rumit
Contoh Inline View
 Membaca data pegawai dengan nomor
departemen>2, yang berasal dari suatu inline
view

SELECT * FROM (SELECT nama,jurusan FROM
dosen) WHERE jurusan>2
 Melakukan operasi join hasil dari suatu inline
view

SELECT d.*,j.jurusan FROM (SELECT nama,jurusan
FROM dosen WHERE gaji>100) as d,(SELECT
kode,jurusan FROM jurusan WHERE kode>2) as j
WHERE d.jurusan=j.kode
 Melakukan manipulasi data pada suatu inline
view

UPDATE (SELECT nama,gaji FROM dosen WHERE
Soal/Tugas
Parameter Value
 Subsitusi Variabel
 Memasukkan suatu nilai parameter tiap kali
menjalankan perintah SQL
 Contoh
 SELECT * FROM dosen WHERE gaji>BatasGaji;
 SELECT Nama, format(lahir,"DD-MM-YYYY") as
[Tanggal Lahir] FROM siswa
WHERE ucase(nama) like "*" &
ucase([Masukkan Nama Siswa :]) & "*"
Menggunakan Operator
SET UNION
 Digunakan untuk menggabungkan
hasil dari lebih dari satu query
 Hasil dari setiap query harus
memiliki kolom yang sama
 UNION - tidak semua (yang kembar
dibuang)
 UNION ALL - semua
Contoh
 Menggabungkan semua hasil dari dosen
yang bekerja pada jurusan 2 dan jurusan
3
 Hasilnya sama dengan perintah
 SELECT * FROM dosen WHERE jurusan IN (2,3)
ORDER BY jurusan
 SELECT * FROM dosen WHERE jurusan=2
UNION ALL
SELECT * FROM dosen WHERE jurusan=3;
Memanipulasi Data
 DML - Data Manipulation Language
 Menambah baris data baru
 Mengubah isi suatu baris data
 Menghapus suatu baris data
 Transaksi adalah kumpulan dari
perintah DML yang membentuk
suatu suatu kerja tertentu
Contoh Operasi DML

 INSERT INTO jurusan (kode,jurusan,kajur,sekjur)


VALUES (8,”Akutansi”,1230,1237);
 INSERT INTO jurusan VALUES
(9,”Perpajakan”,1233,1239);
 UPDATE jurusan SET jurusan=“Keuangan” WHERE
kode=8;
 DELETE FROM jurusan WHERE kode IN (8,9);
Soal/Tugas
 Tampilkan data Kelas dari siswa
yang ketua jurusannya bernama
“Bromantoro Diarwanto” dan
dosen wali “Guna Mardi”
 Ubah data kelas dari siswa
tersebut menjadi kelas 4
Membuat dan Mengatur
Tabel
 CREATE TABLE nama (
kolom tipe konstrain,
kolom tipe konstrain konstrain,
[Nama Kolom] tipe konstrain,
…,
kolom tipe konstrain,
CONSTRAINT namak konstrain (kolom)
);
Tipe
 BOOLEAN
 INTEGER, LONG, CURRENCY,
SINGLE, DOUBLE atau NUMBER
 CHAR, VARCHAR atau TEXT
 DATE
 MEMO
 VARIANT (default)
Konstrain
 NOT NULL
 PRIMARY KEY
 UNIQUE
 REFERENCES tabel(kolom)
Pengertian Konstrain
 Kegunaan :
 Memberikan aturan pada tingkat table
 Membatasi Manipulasi tertentu pada Tabel
 Menjaga Integritas Data
 Menjaga Validitas Data
 Jenis
 NOT NULL
 UNIQUE
 PRIMARY KEY
 FOREIGN KEY
Penjelasan Konstrain
 NOT NULL

Suatu kolom harus memiliki nilai tertentu (tidak boleh kosong)
 UNIQUE

Suatu kolom harus tidak boleh memiliki nilai yang sama (tetapi boleh
null)

…, kolom tipe NOT NULL UNIQUE, …

…, CONSTRAINT nama_konstrain UNIQUE (kolom), ...
 PRIMARY KEY

Suatu kolom dinyatakan sebagai kunci utama dari suatu tabel

Otomatis dianggap UNIQUE dan NOT NULL

…, kolom tipe NOT NULL PRIMARY KEY, ...

..., CONSTRAINT nama_konstrain PRYMARY KEY(kolom), ...
 FOREIGN KEY

Menyatakan suatu kolom harus sesuai dengan kolom lain dari suatu
tabel

…, kolom tipe REFERENCES tabel(kolom), …

…, CONSTRAINT nama_k FOREIGN KEY(kolom) REFERENCES
Perintah Lainnya :
 ALTER TABLE nama_tabel(…)
 DROP TABLE nama_tabel
Contoh Membuat Tabel
CREATE TABLE dosen(
nip varchar(15) not null primary key,
nama varchar(50) not null
);
CREATE TABLE siswa(
nrp varchar(15) not null primary key,
nama varchar(50) not null,
wali varchar(15) references dosen(nip)
);
CREATE INDEX nama_siswa ON siswa(nama);
Indeks
 Suatu tabel khusus yang berisi kolom
dengan data yang telah diurutkan
 Kegunaan

Mempercepat pencarian

Pengujian data unik
 Otomatis dibuatkan saat suatu kolom
dianggap sebagai PRIMARY KEY atau
UNIQUE
 Format

CREATE INDEX namaI ON tabel (kolom1, …);

Anda mungkin juga menyukai