Apa itu PL/SQL?
- PL (Procedural Language) adalah bahasa pemrograman yang terdiri terdiri atas kumpulan perintah/intruksi yang akan dijalankan/dieksekusi oleh komputer secara berurutan.
- SQL (Structured Query Language) adalah bahasa pemrograman yang digunakan untuk mengakses dan memodifikasi data di dalam database.
Pengenalan iSQL*PLUS
iSQL*PLUS adalah SQL*PLUS berbasis web yang disediakan oleh Oracle, didalamnya kita bisa menampilkan struktur tabel, mengedit SQL Statement, menjalankan perintah SQL, menyimpan SQL Statement ke dalam file script, dan memanggil file script yang sudah disimpan.
Logging in iSQL*PLUS
Untuk memanggil iSQL*PLUS, jalankan browser, pada jendela browser ketik alamat : https://nama_mesin/isqlplus nama mesin adalah nomer IP tempat dimana database ditempatkan pada server atau pada local machine.
Statemen SQL
Oracle mendukung SQL sebagai bahasa standart untuk database relasional.
Dasar Statement SELECT
Sintak (cara penulisan) dari statement SELECT :
SELECT [DISTINCT] {*, column [alias],…}
FROM table;
SELECT digunakan untuk memilih kolom yang ingin ditampilkan.
FROM digunakan untuk memilih table asal.
Memilih Semua Kolom
SELECT *
FROM departments;
Memilih Kolom yang spesifik
SELECT department_id, location_id
FROM departments;
Aturan Penulisan Statement SQL
Default Judul Kolom
Ekspresi Aritmatik
Suatu ekspresi yang melibatkan tipe data bilangan (NUMBER) dan tanggal (DATE) menggunakan ekspresi artimatika.
SELECT last_name, salary, salary+300
FROM employees;
Operator Presedence
Perkalian dan pembagian memiliki prioritas (precedence) lebih tinggi daripada penambahan dan pengurangan.
SELECT last_name, salary, 12*salary+100
FROM employees;
Penggunaan Tanda Kurung
Penggunaan tanda kurung memiliki prioritas paling tinggi dibanding presedensi operator yang lain.
SELECT last_name, salary, 12*(salary+100)
FROM employees;
Mendefinisikan Nilai NULL
Nilai NULL (kosong) pada suatu kolom bisa berarti ada data yang tidak diisi, atau tidak diketahui nilainya. Nilai NULL tidak sama dengan NOL (zero). Nilai NULL juga tidak sama dengan spasi kosong.
SELECT last_name, job_id, salary, commission_pct
FROM employees;
Supaya nilai NULL tidak ditampilkan, digunakan fungsi NVL untuk memeriksa keberadaan nilai NULL.
Formatnya :
NVL(kolom yang di-evaluasi, diisi nilai ini jika kolom bernilai NULL)
Menggunakan Kolom Alias
Judul (secara default) pada tiap kolom yang ditampilkan (heading) selalu sama dengan nama kolomnya dan ditulis dengan hutuf besar. Penggantian judul kolom, sehingga tidak sama dengan judul default disebut kolom alias.
SELECT last_name AS name, commission_pct comm
FROM employees; (Case tidak sensitive)
SELECT last_name “Name”, salary*12 “Annual Salary”
FROM employees; (Case sensitive)
Literal Character Strings
Literal dapat berupa karakter, ekspresi atau bilangan yang terdapat pada klausa SELECT. Literal berupa tanggal (DATE) dan karakter harus diapit dengan tanda petik tunggal.
SELECT last_name || ’ is a ’ || job_id
AS “Employee Details”
FROM employees;
Operator Penyambungan
Nilai dari dua kolom atau lebih dapat digabungkan dengan menggunakan operator penyambungan ( || ).
SELECT last_name || job_is AS “Employees”
FROM employees;
Menghapus Baris yang Duplikat
Untuk mengeleminasi baris ganda atau suatu nilai yang bisa muncul lebih dari satu kali digunakan keyword DISTINCT.
Memilih Semua Kolom
SELECT *
FROM departments;
Memilih Kolom yang spesifik
SELECT department_id, location_id
FROM departments;
Aturan Penulisan Statement SQL
- SQL Statement tidak case sensitive artinya tidak dibedakan antara penulisan huruf kecil dan huruf besar.
- SQL Statement dapat terdiri dari lebih dari satu baris.
- Keyword tidak bisa disingkat atau dipisah di baris yang berbeda.
- Klausa biasanya ditempatkan pada baris yang berbeda.
- Inden digunakan untuk memudahkan pembacaan.
Default Judul Kolom
Default judul kolom pada iSQL*Plus :
1. Ditampilkan di tengah-tengah
2. Dengan huruf besar (uppercase)
Default judul kolom pada SQL*Plus :
1. Kolom karakter dan tanggal rata kiri (left justified)
2. Dengan huruf besar (uppercase)
Ekspresi Aritmatik
Suatu ekspresi yang melibatkan tipe data bilangan (NUMBER) dan tanggal (DATE) menggunakan ekspresi artimatika.
SELECT last_name, salary, salary+300
FROM employees;
Operator Presedence
Perkalian dan pembagian memiliki prioritas (precedence) lebih tinggi daripada penambahan dan pengurangan.
SELECT last_name, salary, 12*salary+100
FROM employees;
Penggunaan Tanda Kurung
Penggunaan tanda kurung memiliki prioritas paling tinggi dibanding presedensi operator yang lain.
SELECT last_name, salary, 12*(salary+100)
FROM employees;
Mendefinisikan Nilai NULL
Nilai NULL (kosong) pada suatu kolom bisa berarti ada data yang tidak diisi, atau tidak diketahui nilainya. Nilai NULL tidak sama dengan NOL (zero). Nilai NULL juga tidak sama dengan spasi kosong.
SELECT last_name, job_id, salary, commission_pct
FROM employees;
Supaya nilai NULL tidak ditampilkan, digunakan fungsi NVL untuk memeriksa keberadaan nilai NULL.
Formatnya :
NVL(kolom yang di-evaluasi, diisi nilai ini jika kolom bernilai NULL)
Menggunakan Kolom Alias
Judul (secara default) pada tiap kolom yang ditampilkan (heading) selalu sama dengan nama kolomnya dan ditulis dengan hutuf besar. Penggantian judul kolom, sehingga tidak sama dengan judul default disebut kolom alias.
SELECT last_name AS name, commission_pct comm
FROM employees; (Case tidak sensitive)
SELECT last_name “Name”, salary*12 “Annual Salary”
FROM employees; (Case sensitive)
Literal Character Strings
Literal dapat berupa karakter, ekspresi atau bilangan yang terdapat pada klausa SELECT. Literal berupa tanggal (DATE) dan karakter harus diapit dengan tanda petik tunggal.
SELECT last_name || ’ is a ’ || job_id
AS “Employee Details”
FROM employees;
Operator Penyambungan
Nilai dari dua kolom atau lebih dapat digabungkan dengan menggunakan operator penyambungan ( || ).
SELECT last_name || job_is AS “Employees”
FROM employees;
Menghapus Baris yang Duplikat
Untuk mengeleminasi baris ganda atau suatu nilai yang bisa muncul lebih dari satu kali digunakan keyword DISTINCT.
SELECT DISTINCT department_id
FROM employees;