SQL (Structured Query Language)
SQL adalah salah satu bahasa yang digunakan untuk model
relasional yang berfungsi untuk memasukkan, memilih, merubah,
dan menghapus data.
SQL banyak digunakan para pemakai , karena
Bahasa yang mudah dipelajari
Berisi perintah-perintah yang sederhana
Merupakan bahasa yang non-procedural, yaitu yang menerangkan
informasi apa saja yang diperlukan, bukan bagaimana caranya untuk
mendapatkannya.
Dapat digunakan oleh beragam pemakai
Dapat digunakan untuk pemberian otoritas terhadap pemakai
SQL terdiri dari:
Data Definition Language (DDL )
Data Manipulation Language (DML)
SQL dapat digunakan dalam dua cara :
1. SQL Interactive
Pemrosesan dilakukan dengan cara memasukkan sebuah
pernyataan SQL melalui terminal atau mikrokomputer dan
langsung diproses. Hasilnya langsung dapat
direpresentasikan.
2. SQL Sisip
Pemrosesan dilakukan dengan cara menyisipkan pernyataan
SQL ke dalam sebuah program. SQL ini tidak dapat langsung
dilihat oleh pemakai.
1
Halaman :
Contoh Tabel :
PEMASOK
NOPEM NAPEM KOTA
P01 Harapan Jakarta
P02 Sentosa Bandung
P03 Prima Surabaya
P04 Perdana Jakarta
P05 Utama Bandung
BARANG
NOBAR NABAR HARGA
B01 Kemeja 70000
B02 Celana Panjang 60000
B03 Kaos Kaki 5000
B04 Ikat Pinggang 20000
B05 Kemeja 100000
PEMASOKKAN
NOPEM NOBAR JUMLAH
P01 B01 40
P01 B02 30
P01 B03 50
P01 B04 50
P01 B05 20
P02 B01 100
P02 B05 100
P03 B03 200
P03 B04 150
P04 B02 100
2
Halaman :
DATA DEFINITION
Terdapat beberapa perintah DDL :
CREATE TABLE CREATE VIEW CREATE INDEX
ALTER TABLE
DROP TABLE DROP VIEW DROP INDEX
I. BASE TABLES
CREATE TABLE
Bentuk umum :
CREATE TABLE base-table
(column-definition [,column definition] …..
[ , primary-key-definition]
[ , foreign-key-definition [foreign-key-definition] …] ) ;
Contoh :
CREATE TABLE PEMASOK
( NOPEM CHAR(5) NOT NULL ,
NAPEM CHAR(25) NOT NULL ,
KOTA CHAR(15) NOT NULL ,
PRIMARY KEY (NOPEM) );
ALTER TABLE
Bentuk umum :
ALTER TABLE base-table ADD column data-type ;
contoh :
ALTER TABLE PEMASOK ADD ALAMAT CHAR(30);
3
Halaman :
DROP TABLE
Bentuk umum :
DROP TABLE base-table ;
Contoh :
DROP TABLE PEMASOK ;
II. INDEXES
CREATE INDEX
Bentuk umum :
CREATE [UNIQUE] INDEX index
ON base-table (column [order] [, column [order] );
contoh :
CREATE UNIQUE INDEX XPEM ON PEMASOK (NOPEM) ;
CREATE UNIQUE INDEX XBAR ON BARANG (NOBAR) ;
CREATE UNIQUE INDEX XPB ON PEMASOKKAN (NOPEM,
NOBAR) ;
DROP INDEX
Bentuk Umum :
DROP INDEX index;
Contoh :
DROP INDEX XPEM ;
4
Halaman :
DATA MANIPULATION
SQL menyediakan 4 perintah DML :
SELECT DELETE
UPDATE INSERT
SIMPLE QUERIES
Bentuk umum :
SELECT [ DISTINCT ] item(s)
FROM table(s)
[ WHERE condition ]
[ GROUP BY field(s) ]
[ HAVING condition ]
[ ORDER BY field(s) ] ;
Tampilkan nomor & nama pemasok untuk pemasok yang berlokasi di
Bandung
SELECT NOPEM, NAPEM
FROM PEMASOK
WHERE KOTA = ‘Bandung’ ;
hasil :
NOPEM NAPEM
P02 Sentosa
P05 Utama
5
Halaman :
Tampilkan nomor pemasok dari pemasok yang memasok barang
SELECT NOPEM
FROM PEMASOKKAN;
hasil :
NOPEM
P01
P01
P01
P01
P01
P02
P02
P03
P03
P04
Untuk mengeliminasi duplikasi gunakan DISTINCT :
SELECT DISTINCT NOPEM
FROM PEMASOKKAN;
hasil :
NOPEM
P01
P02
P03
P04
6
Halaman :
Tampilkan semua detail dari pemasok
SELECT * FROM PEMASOK ;
atau
SELECT NOPEM, NAPEM, KOTA
FROM PEMASOK ;
Tampilkan nomor dan nama pemasok untuk pemasok yang berada di
kota Jakarta dengan diurutkan namanya dari besar ke kecil
SELECT NOPEM, NAPEM
FROM PEMASOK
WHERE KOTA = ‘Jakarta’
ORDER BY NAPEM DESC ;
hasil :
NOPEM NAPEM
P04 Perdana
P01 Harapan
Penggunaan BETWEEN
Tampilkan detail dari Barang yang mempunyai harga antara 50000 dan
100000
SELECT * FROM BARANG
WHERE HARGA BETWEEN 50000AND 100000 ;
Hasil :
NOBAR NABAR HARGA
B01 Kemeja 70000
B02 Celana Panjang 60000
B05 Kemeja 100000
7
Halaman :
Penggunaan In
Tampilkan detail barang yang mempunyai harga 50000 dan 100000
SELECT * FROM BARANG
WHERE HARGA IN ( 50000, 100000 ) ;
Hasil :
NOBAR NABAR HARGA
B05 Kemeja 100000
JOIN QUERIES
Join Query merupakan salah satu kelebihan dari database relasional.
Join Query diperlukan apabila memerlukan data yang di retrieve dari
lebih satu tabel.
Contoh :
Tampilkan Nama Pemasok yang memasok barang B01
SELECT NAPEM
FROM PEMASOK, PEMASOKKAN
WHERE [Link] = [Link]
AND NOBAR = ‘B01’;
Hasil :
NAPEM
Harapan
Sentosa
8
Halaman :
Tampilkan Nomor-nomor Pemasok yang tinggal di kota yang sama ,
pasangkan untuk tiap dua pemasok, dimana nomor pemasok pertama
lebih kecil dari nomor pemasok ke dua.
SELECT [Link], [Link]
FROM PEMASOK FIRST, PEMASOK SECOND
WHERE [Link] = [Link]
AND [Link] < [Link];
Hasil:
NOPEM NOPEM
P01 PO4
PO2 PO5
Tampilkan Nama pemasok beserta kotanya dimana pemasok tersebut
memasok barang yang harganya lebih dari 70000, urutkan berdasarkan
nama pemasok secara descending.
SELECT NAPEM, KOTA
FROM PEMASOK, PEMASOKKAN, BARANG
WHERE [Link] = [Link]
AND [Link] = [Link]
AND HARGA > 70000
ORDER BY NAPEM DESC;
Hasil:
NAPEM KOTA
Sentosa Bandung
Harapan Jakarta
9
Halaman :