SQL
adalah salah satu bahasa yang digunakan untuk model
relasional yang berfungsi untuk memasukkan, memilih, merubah,
dan menghapus data.
SQL
2.
SQL Interactive
Pemrosesan dilakukan dengan cara memasukkan sebuah
pernyataan SQL melalui terminal atau mikrokomputer dan
langsung
diproses.
Hasilnya
langsung
dapat
direpresentasikan.
SQL Sisip
Pemrosesan dilakukan dengan cara menyisipkan pernyataan
SQL ke dalam sebuah program. SQL ini tidak dapat langsung
dilihat oleh pemakai.
Halaman :
Contoh Tabel :
PEMASOK
NOPEM
NAPEM
KOTA
P01
P02
P03
P04
P05
Harapan
Sentosa
Prima
Perdana
Utama
Jakarta
Bandung
Surabaya
Jakarta
Bandung
BARANG
NOBAR
B01
B02
B03
B04
B05
NABAR
HARGA
Kemeja
Celana Panjang
Kaos Kaki
Ikat Pinggang
Kemeja
100000
70000
60000
5000
20000
PEMASOKKAN
NOPEM
NOBAR
P01
P01
P01
P01
P01
P02
P02
P03
P03
P04
B01
B02
B03
B04
B05
B01
B05
B03
B04
B02
JUMLAH
40
30
50
50
20
100
100
200
150
100
Halaman :
DATA DEFINITION
Terdapat beberapa perintah DDL :
CREATE TABLE
ALTER TABLE
DROP TABLE
CREATE VIEW
CREATE INDEX
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 ;
Halaman :
contoh :
ALTER TABLE PEMASOK ADD ALAMAT CHAR(30);
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;
Halaman :
Contoh :
DROP INDEX XPEM ;
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
Halaman :
P02
P05
Sentosa
Utama
P02
P03
P04
NAPEM
Perdana
Harapan
Penggunaan BETWEEN
Tampilkan detail dari Barang yang mempunyai harga antara 50000 dan
100000
Halaman :
NABAR
B01
B02
B05
Kemeja
Celana Panjang
Kemeja
HARGA
70000
60000
100000
Penggunaan In
Tampilkan detail barang yang mempunyai harga 50000 dan 100000
SELECT * FROM BARANG
WHERE HARGA IN ( 50000, 100000 ) ;
Hasil :
NOBAR
NABAR
B05
Kemeja
HARGA
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
Halaman :
SELECT NAPEM
FROM PEMASOK, PEMASOKKAN
WHERE PEMASOK.NOPEM = PEMASOKKAN.NOPEM
AND NOBAR = B01;
Hasil :
NAPEM
Harapan
Sentosa
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 FIRST.NOPEM, SECOND.NOPEM
FROM PEMASOK FIRST, PEMASOK SECOND
WHERE FIRST.KOTA = SECOND.KOTA
AND FIRST.NOPEM < SECOND.NOPEM;
Hasil:
NOPEM
P01
PO2
NOPEM
PO4
PO5
Halaman :
KOTA
Bandung
Jakarta
AGGREGATE FUNCTION
COUNT
SUM
AVG
MAX
MIN
Halaman :
10
Hasil : 4
Tampilkan jumlah total dari barang yang dipasok oleh pemasok PO2
SELECT SUM (JUMLAH)
FROM PEMASOKKAN
WHERE NOPEM = P02;
Hasil :
200
Penggunaan GROUP BY
GROUP BY digunakan untuk mengelompokkan data berdasarkan
suatu kolom.
Tampilkan Nomor barang dan jumlah total perbarang yang dipasok
SELECT NOBAR, SUM(JUMLAH)
FROM PEMASOKKAN
GROUP BY NOBAR;
Hasil :
NOBAR
B01
140
B02
B03
B04
B05
130
250
200
120
Penggunaan HAVING
Halaman :
11
Hasil :
NOPEM
P01
P02
P03
Penggunaan LIKE
Perintah LIKE digunakan untuk pengambilan per karakter
Tanda - digunakan untuk satu atau beberapa karakter tunggal
Tanda % digunakan untuk n karakter terurut , n mungkin kosong
Contoh :
Kota like %a%
Kota like B______
Napem like %n_
Halaman :
12
SELECT *
FROM PEMASOK
WHERE NAPEM LIKE H%;
Hasil :
NOPEM
NAPEM
KOTA
P01
Harapan
Jakarta
SUBQUERY
Subquery (subselect) adalah sebuah pernyataan SELECT yang ada
di dalam pernyataan SELECT. Subquery bisa digunakan bersama
dengan operator IN, ANY, dan EXISTS.
Tampilkan nama pemasok yang memasok barang B01
Halaman :
13
Hasil:
NAPEM
Harapan
Sentosa
Menggunakan Join
Menggunakan Exists
Halaman :
14
Atau
Halaman :
15
SELECT NABAR
FROM BARANG, PEMASOKKAN, PEMASOK
WHERE PEMASOK.NOPEM = PEMASOKKAN.NOPEM
AND
AND
BARANG.NOBAR = PEMASOKKAN.NOBAR
NAPEM = Prima ;
Hasil :
NABAR
Kaos kaki
Ikat pinggang
Halaman :
16
Korelasi Subquery
Halaman :
17
harga
Hasil:
NOBAR
B01
B02
B03
B04
18
( SELECT *
FROM PEMASOKKAN
WHERE PEMASOKKAN.NOPEM =
PEMASOK.NOPEM
AND NOBAR = B02 ) ;
Hasil :
NAPEM
Sentosa
Prima
Penggunaan UNION
Operator UNION digunakan untuk menggabungkan hasil dari dua
query
Aturan dalam menggunakan UNION :
Pernyataan SELECT harus mempunyai jumlah ekspresi kolom yang
sama
Ekspresi kolom yang akan digabungkan harus mempunyai tipe data
yang sama
Hanya pernyataan SELECT terakhir yang bisa diikuti klausa ORDER
BY.
Pernyataan SELECT tidak perlu lagi menggunakan kata DISTINCT,
karena SQL akan menghapus baris yang mempunyai nilai sama secara
otomatis.
Tampilkan nomor barang yang harganya kurang dari 10000 atau dipasok
oleh P03
Halaman :
19
SELECT NOBAR
FROM
BARANG
Hasil :
NOBAR
B03
B04
Halaman :
20
UPDATE
Bentuk Umum
UPDATE table
SET field = scalar expression [field = scalar expression]
[WHERE condition] ;
UPDATE PEMASOK
SET KOTA = Jakarta
WHERE NOPEM = P03 ;
UPDATE BARANG
SET HARGA = HARGA + 10000
WHERE NOBAR IN
( SELECT NOBAR
Halaman :
21
FROM PEMASOKKAN
WHERE NOPEM IN
( SELECT NOPEM
FROM PEMASOK
WHERE KOTA = Jakarta ) );
DELETE
Bentuk Umum
DELETE
FROM table
[WHERE condition] ;
Halaman :
22
DELETE
FROM PEMASOKKAN
WHERE NOBAR IN
(SELECT NOBAR
FROM BARANG
WHERE HARGA > 70000);
INSERT
Halaman :
23
Bentuk Umum
INSERT
INTO table [ (field [ field ] ) ]
VALUES (literal [ literal ]
INSERT
INTO BARANG (NOBAR, NABAR, HARGA)
VALUES ( B06, Celana Panjang, 75000) ;
Halaman :
24