Memahami Perintah Sql (Dasar)




Assalamu’alaikum Warohmatullahi Wabarokatuh
SQL ( Structured Query Language ) adalah bahasa stndart yang digunakan untuk mengakses server database . Semenjak tahun 70-an bahasa ini telah dikembangkan oleh IBM, yang kemudian diikuti dengan adanya Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan misalnya dBase ataupun Clipper yang masih menggunakan perintah – perintah pemrograman murni.
Perintah SQL
1.   Data Retrieval. Digunakan untuk mengambil/membaca Object Database
àSELECT
2.   DDL (Data Definition Language). Digunakan untuk menyatakan suatu Object Database
àCREATE, ALTER, DROP, RENAME, TRUNCATE
3.   DML (Data Manipulation Language). Digunakan untuk pengubahan Object Database
àINSERT, UPDATE, DELETE, MERGE
4.   Transaction Control. Digunakan untuk mengendalikan Transaksi
àCOMMIT, ROLLBACK, SAVEPOINT
5.   DCL (Data Control Language). Digunakan untuk mengendalikan Object Database
àGRANT, REVOKE
Penulisan SQL Select (Dasar)
-  Pembagian/Kemampuan perintah SELECT
àProyeksi : Memilih Kolom
àSeleksi : Memilih Baris
àJoin : Penggabungan tabel
-  Format :
àSELECT *|{[DISTINCT] kolom|ekspresi [alias],…} FROM tabel
-  SELECT artinya memilih kolom mana yang akan ditampilkan (proyeksi)
àDapat berupa list kolom, suatu persamaan (operasi aritmatika), fungsi, obyek tertentu
àDapat diberikan alias (nama lain) pada masing-masing list
-  FROM menunjukkan nama Tabel yang akan ditampilkan
àDapat berupa tabel tunggal, join, view, inline view
Contoh Perintah SQL
-   Melihat seluruh tabel yang dimiliki oleh USER
àSELECT * FROM tab;
-   Melihat struktur suatu tabel
à DESC emp;
-   Melihat seluruh isi suatu tabel
à SELECT * FROM emp;
-   Melihat hanya sebagian kolom dari suatu tabel
à SELECT ename,deptno FROM emp;
-   Melihat sekaligus melakukan operasi pada suatu kolom dan memberikan alias pada masing-masing kolom
à SELECT ename nama,sal gaji,sal*(0.10) bonus FROM emp;
-   Melakukan penggabungan dengan suatu literal dan kolom
à SELECT ‘nama : ’||ename FROM emp;
-   Mengambil hanya nilai-nilai yang berbeda/membatasi hasil yang muncul (semua pegawai bekerja pada departemen apa saja)
à SELECT DISTINCT deptno FROM emp;
Memilih/Membatasi dan Mengurutkan Data
-   Memilih baris data mana saja yang akan ditampilkan (seleksi)
Format :
SELECT *|{[DISTINCT] kolom|ekspresi [alias],…} FROM table [WHERE kondisi] [ORDER BY kolom [ASC|DESC]];
-    WHERE menyatakan batasan apa saja yang diberikan
-    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
Kondisi :
Perbandingan -  =, <>, >, <. <=, >=
Range - IN(…), BETWEEN … AND …, LIKE
Boolean - AND, OR, NOT
NULL - IS NULL, IS NOT NULL
Fungsi Single-Row
u  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
u  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)
Menggabungkan Tabel (Join)
u  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)
u  Jenis Join
à Equijoin
à Nonequijoin
à outer join
à self join
Menampilkan Data Menggunakan Fungsi Group
Mengoperasikan sekelompok baris data menjadi bentuk group data
Fungsi Group : AVG, COUNT, MAX, MIN, SUM, …
Format :
SELECT [kolom,] fungsi_group(kolom),… FROM tabel [WHERE kondisi] [GROUP BY kolom] [HAVING kondisi_group] [ORDER BY kolom];
Subquery
u  Mencari sesuatu yang berasal dari hasil query lainnya
u  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
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
Operasi DML
INSERT into dept (deptno,dname,loc) values (1,’IT’,’SURABAYA’);
UPDATE dept set loc=‘JAKARTA’ WHERE deptno=1;
DELETE dept WHERE deptno=1;
Menambahkan Konstrain
u  Kegunaan :
àMemberikan aturan pada tingkat table
à Membatasi Manipulasi tertentu pada Tabel
à Menjaga Integritas Data
à Menjaga Validitas Data
u  NOT NULL
à Suatu kolom harus memiliki nilai tertentu (tidak boleh kosong)
u  UNIQUE
à Suatu kolom harus tidak boleh memiliki nilai yang sama (tetapi boleh null)
à …, kolom tipe NOT NULL UNIQUE, …
à …, CONSTRAINT nama_konstrain UNIQUE (kolom), ...
u  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), ...
u  FOREIGN KEY
àMenyatakan suatu kolom harus sesuai dengan kolom lain dari suatu tabel
à …, kolom tipe REFERENCES tabel(kolom), …
à …, CONSTRAINT nama_konstrain FOREIGN KEY(kolom) REFERENCES tabel(kolom), ...
u  CHECK
à Melakukan pengujian pada suatu kolom
à..., CONSTRAINT nama_konstrain CHECK kondisi, ...
Membuat View
u  Kegunaan:
àMembatasi Akses Data
à Menyederhanakan query
à Menghasilkan bentuk lain dari data yang sama
u  Format :
à CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW nama [(kolom_alias,…)] AS subquery [WITH CHECK OPTION [CONSTRAINT konstrain]] [WITH READ ONLY [CONSTRAINT konstrain]];
u  Contoh :
à CREATE OR replace view pegawai as SELECT * FROM emp e,dept d WHERE e.deptno=d.deptno;
u  Inline VIEW, view yang langsung dituliskan pada baris perintah SQL tanpa perlu membuat object view
à SELECT * FROM (SELECT empno,ename,depno,sal FROM emp) e, dept d WHERE e.deptno=d.deptno;
Wassalamu’alaykum Warohmatullahi Wabarokatuh
*apabila terjadi kesalahan pada tulisan, isi konten, dll kami mohon maaf dan kami bersedia mendapat kritik dan sarannya

0 Response to "Memahami Perintah Sql (Dasar)"

Posting Komentar