Sistem Basis Data

advertisement
Sistem Basis Data
1
Apa yang akan dibahas?
• Pengertian SQL
• Penggolongan Statement
SQL
• Aturan Gramatika SQL
• Struktur Dasar SQL
• Query Satu (1) Tabel
2
SQL
• SQL (Structured Query Language)…
• Bahasa standar yang digunakan untuk
mengakses database relasional.
• Merupakan bahasa yang tidak prosedural
atau terstruktur seperti C atau Pascal.
• Beberapa software database yang mengguna
kan SQL sebagai perintah untuk mengakses
database..
• DB2, ORACLE, Ms.Access, MySQL,
PostgreSQL, Sybase,dll.
3
Statement SQL
Terbagi dalam dua kelompok, yaitu…
DDL (Data Definition Language) :
untuk mendefinisikan struktur suatu data.
Perintah-perintahnya…
CREATE (untuk membuat tabel)
ALTER (untuk mengubah struktur tabel)
DROP (untuk menghapus tabel)
DML (Data Manipulation Language) :
untuk memanipulasi suatu tabel.
Perintah-perintahnya…
SELECT (untuk query isi tabel)
INSERT (untuk memasukkan isi tabel)
UPDATE (untuk mengubah isi tabel)
DELETE (untuk menghapus isi tabel)
4
Aturan Gramatika SQL
1. Semua pernyataan SQL ditutup dengan tanda titik
koma (;).
2. Dapat ditulis dalam satu baris atau dipisah-pisah
dalam beberapa baris agar mudah dibaca.
3. Tidak bersifat case sensitive untuk penulisan
perintah- perintah SQL, nama tabel dan nama
kolom.
4. Ditulis menurut sintaks tertentu.
5. Dapat diberikan garis komentar untuk
dokumentasi dan menjelaskan maksud
pemrograman.
5
Struktur Dasar SQL
• Implementasi SQL sangat bervariasi, bergantung
pada vendor software. Akibatnya beberapa perintah
SQL pada tiap software memiliki perbedaan pada
sintaks penulisan.
• Struktur dasar SQL….
SELECT A1 [, A2, …, An]
FROM t1 [, t2, …, tm]
[WHERE P]
6
Struktur Dasar SQL
Dimana:
A1, A2, …, An : daftar atribut (field) sebagai hasil
query
T1, t2,…, tm : daftar tabel (relasi) yang akan
ditelusuri
P : predikat/syarat kondisi query
Ket : tanda [ ] berarti bersifat pilihan; boleh digunakan
boleh tidak
7
SELECT sebagai dasar bagi Anda untuk belajar
query
8
Query 1 Tabel
1. Menampilkan Semua Kolom Semua Baris
SELECT * FROM nama_tabel;
Untuk menampilkan kolom tertentu, maka nama
kolom yang ingin ditampilkan ditulis setelah kata
SELECT
SELECT nama_kolom FROM nama_tabel;
Jika kolom yang ingin ditampilkan lebih dari satu,
maka penulisan antar nama kolom dipisahkan
dengan koma.
SELECT nama_kolom1, nama_kolom2
FROM nama_tabel;
9
Query 1 Tabel
Untuk menampilkan hanya sebuah baris tertentu yang
memenuhi syarat, maka kondisi dalam WHERE perlu
dilibatkan kunci primer
SELECT *
FROM nama_tabel
WHERE nama_kolom_kunci_primer=„syarat‟;
10
Query 1 Tabel
2. Penggunaan Operator Relasional Dalam
Kriteria
Operator relasional adalah operator yang di
gunakan untuk melakukan pembandingan antara
dua buah nilai.
Daftar operator relasional
Operator
Keterangan
=
Sama dengan
>
Lebih dari
<
Kurang dari
>=
Lebih dari atau sama dengan
<=
Kurang dari atau sama dengan
<>
Tidak sama dengan
11
Query 1 Tabel
3. Penggunaan Operator Filter (Penyaringan)
Operator BETWEEN
Digunakan untuk menangani operasi jangkauan
diantara dua kondisi.
SELECT nama_kolom FROM nama_tabel
WHERE nama_kolom BETWEEN ‟syarat1‟
AND „syarat2‟;
Operator NOT BETWEEN
Jika ditambahkan NOT di depan BETWEEN maka di
peroleh keadaan yang sebaliknya (tidak berada
diantara dua kondisi).
SELECT nama_kolom FROM nama_tabel
WHERE nama_kolom NOT BETWEEN ‟syarat1‟ 12
AND „syarat2‟;
Query 1 Tabel
Operator IN
Berguna untuk melakukan pencocokan dengan
salah satu yang ada pada suatu daftar nilai
(dapat menggantikan operator OR)
SELECT nama_kolom FROM nama_tabel
WHERE nama_kolom
IN („nilai_1‟,..,‟nilai_n‟);
Operator NOT IN
operator ini melakukan pencocokan SELAIN yang
ada dalam daftar nilai
SELECT nama_kolom FROM nama_tabel
WHERE nama_kolom
NOT IN („nilai_1‟,..,‟nilai_n‟);
13
Query 1 Tabel
Operator LIKE
Untuk mencari data berdasarkan kriteria karakter
tertentu.
Mis: nama mahasiswa yang namanya diawali
dengan huruf “S”. LIKE digunakan dengan simbol
wildcard (%)
Pola
Keterangan
Contoh
pemakaian wildcard
%a%
Sama dengan apa saja yang mengandung
karakter “a” atau “A”
%a
Sama dengan yang berakhiran “a” atau “A”
a%
Sama dengan yang berawalan “a” atau “A”
14
Query 1 Tabel
Contoh:
SELECT nama_mhs
FROM mhs
WHERE nama_mhs LIKE „Lu%‟;
Output yang dihasilkan…
Semua nama mhs yang dua huruf awal namanya
adalah „Lu‟
15
Query 1 Tabel
Operator NOT LIKE
Untuk mencari data yang tidak sama dengan
karakter yang diberikan.
Contoh:
SELECT nama_mhs
FROM mhs
WHERE nama_mhs NOT LIKE „Lu%‟;
Output yang dihasilkan…
Semua nama mhs yang dua huruf awal namanya
bukan „Lu‟
16
Query 1 Tabel
Operator IS NULL
Untuk mencari data yang nilainya adalah NULL
Contoh:
SELECT nama_mhs
FROM mhs
WHERE asal_kota IS NULL;
Output yang dihasilkan…
Semua nama mhs dari tabel mhs yang data asal kota
nya tidak disebutkan.
Bedakan dengan operator “=“
(tidak dapat membandingkan nilai NULL)
17
Query 1 Tabel
4. Penggunaan Kolom Alias
Untuk menampilkan nama kolom dengan nama lain
dapat menggunakan AS
Contoh:
SELECT nama_mhs AS nama, almt AS alamat
FROM mhs;
5. Penggunaan Distinct
digunakan jika ingin menampilkan hasil query yang
bernilai sama sebanyak satu kali (unik)
18
Query 1 Tabel
Contoh: (tanpa menggunakan DISTINCT)
SELECT nama_mhs FROM mhs;
Output….
nama_mhs
Ali
Ali
Budi
Anto
Contoh: (menggunakan DISTINCT)
SELECT DISTINCT nama_mhs FROM mhs;
Output….
nama_mhs
Ali
Budi
Anto
19
Query 1 Tabel
6. Penggunaan Operator Gabung (Concat)
Nilai dari dua kolom dapat ditampilkan ke dalam
satu kolom dengan operator ||
Contoh:
SELECT nama_kolom1 || nama_kolom2
“nama_kolom_simpan_gabungan”
FROM nama_tabel;
20
Query 1 Tabel
7. Fungsi Agregat
Merupakan fungsi yang disediakan untuk menghasil
kan sebuah nilai berdasarkan sejumlah data
Fungsi = suatu kumpulan instruksi yang menghasilkan sebuah nilai jika dipanggil
Beberapa Daftar Fungsi Agregat
Fungsi Agregat
Keterangan
AVG ()
Nilai rata-rata
AVG (DISTINCT…)
Nilai rata-rata untuk nilai yang unik
COUNT()
Jumlah data yang tidak NULL
COUNT (DISTINCT…) Jumlah data yang tidak NULL dan nilainya unik
MAX ()
Nilai terbesar
MIN ()
Nilai terkecil
SUM ()
Penjumlahan data
21
Latihan
1. Tampilkan employee_id, first_name, last_name
dari tabel employees.
2. Tampilkan nama dan gaji dari pegawai yang
berada di departemen 90.
3. Tampilkan nama pegawai dan id manager dari
pegawai yang memiliki gaji > 3000 dan
manager_id adalah 124
4. Sama seperti no.1 tetapi nama adalah gabungan
dari first_name dan last_name serta beri judul
kolom menjadi “Nama Pegawai”
5. Sama seperti no.2 tetapi gaji dalam 1 tahun.
22
Latihan
6. Tampilkan nama pegawai yang dimulai dengan
huruf „K‟
7. Tampilkan job_id yang unik dari tabel employees.
8. Tampilkan nama pegawai yang tidak memiliki
manager.
9. Tampilkan nama pegawai dan gaji dari pegawai
yang berada di departemen 10, 20, 50.
10.Tampilkan nama pegawai dan departemen_id dari
pegawai yang gajinya diantara 2000 hingga 5000.
23
24
Download