Structured Query Language (SQL) adalah bahasa yang digunakan untuk berkomunikasi
dengan database. Perintah-perintah
SQL digunakan untuk melakukan pekerjaan-pekerjaan tertentu pada database seperti update data atau untuk mengambil data dari database. Pada subbab-subbab berikut ini akan dijelaskan mengenai
perintah select, insert, update dan
delete pada SQL.
o
Perintah Select
Perintah select digunakan untuk
mengambil dan menampilkan data dari database
sesuai dengan syarat-syarat yang ditentukan. Berikut ini adalah format perintah
select yang umum digunakan:
SELECT column1
[,column2,etc]
FROM tablename
[WHERE
condition];
keterangan: [] =
optional
Column menunjukkan nama kolom dari tabel yang ingin
diambil. Column dapat lebih dari satu
atau menggunakan “*” untuk mengambil semua kolom. Tablename menunjukkan nama tabel yang ingin digunakan. Klausa where menyaring data berdasarkan kondisi
yang dituliskan setelah kata where.
Operator-operator yang digunakan dalam klausa where antara lain dapat dilihat pada tabel berikut:
Lambang
|
Arti
|
=
|
Sama dengan
|
>
|
Lebih besar dari
|
<
|
Lebih kecil dari
|
>=
|
Lebih besar sama dengan
|
<=
|
Lebih kecil sama dengan
|
<>
|
Tidak sama dengan
|
LIKE
|
(dijelaskan di bawah ini)
|
Operator LIKE dapat menyeleksi
data sesuai dengan string yang
diinginkan. Simbol “%” digunakan untuk mencocokkan karakter yang muncul sebelum
atau sesudah karakter yang diinginkan. Contohnya adalah sebagai berikut:
SELECT nama_depan, kota
FROM karyawan
WHERE nama_depan LIKE
'Sam%';
Perintah SQL di atas memiliki output
semua nama depan yang diawali dengan “Sam”. Simbol “%” dapat pula diletakkan di
depan atau di belakang. Selain seperti yang dijabarkan di atas, perintah select juga memiliki format lain yang
lebih lengkap yang mendukung fungsi agregasi, yaitu:
SELECT [ALL |
DISTINCT] column1[,column2]
FROM table1[,table2]
[WHERE "conditions"]
[GROUP BY "column-list"]
[HAVING "conditions]
FROM table1[,table2]
[WHERE "conditions"]
[GROUP BY "column-list"]
[HAVING "conditions]
[ORDER BY
"column-list" [ASC | DESC] ]
Nama Fungsi
|
Kegunaan
|
SUM( )
|
Untuk
menghitung jumlah nilai pada suatu kolom
|
AVG( )
|
Untuk
menghitung nilai rata-rata pada suatu kolom
|
MAX( )
|
Untuk
mencari nilai maksimum pada suatu kolom
|
MIN( )
|
Untuk
mencari nilai minimal pada suatu kolom
|
COUNT( )
|
Untuk
menghitung jumlah baris pada suatu kolom
|
Keyword ALL digunakan untuk
mengambil semua data sedangkan DISTINCT
digunakan untuk mengambil data yang unik dimana baris yang sama akan dijadikan
satu baris saja.
o
Klausa Group By
Klausa group by akan mengumpulkan
baris data dari tabel sesuai dengan kolom yang dispesifikasikan dan
memperkenankan adalah fungsi agregasi pada satu atau lebih kolom. Untuk lebih
jelas dapat dilihat pada contoh berikut:
SELECT
MAX(gaji), departemen
FROM karyawan
GROUP BY
departemen;
Query ini akan mengambil dan menampilkan gaji maksimum
dari karyawan dari tiap departemen dan dikelompokkan berdasarkan nama
departemennya.
o
Klausa Having
Klausa having
dapat menspesifikasikan kondisi dari baris untuk tiap group, dengan kata lain tiap baris akan diambil berdasarkan kondisi
yang dispesifikasikan. Jika menggunakan klausa having harus diikuti dengan klausa group by. Contoh penggunaan dari klausa having adalah sebagai berikut:
SELECT
departemen, avg(gaji)
FROM karyawan
GROUP BY departemen
HAVING avg(gaji) > 20000;
FROM karyawan
GROUP BY departemen
HAVING avg(gaji) > 20000;
Pada query
di atas jika pada query tersebut
hanya menggunakan group by saja maka
akan mengambil rata-rata gaji karyawan pada tiap departemen. Tetapi bila
ditambahkan dengan klausa having maka
dapat dispesifikasikan rata-rata gaji yang diambil adalah yang bernilai lebih
dari 20000.
o
Klausa Order By
Klausa order by merupakan klausa optional yang digunakan jika kita ingin
menampilkan hasil dari query secara
urut, baik urut secara ascending (ASC)
maupun secara descending (DESC), sesuai dengan kolom yang
dispesifikasikan pada order by.
Contoh penggunaannya jika diinginkan hasil urut data karyawan berdasarkan
umurnya secara ascending adalah
sebagai berikut:
SELECT
kode_karyawan, nama_depan, umur, gaji
FROM karyawan
WHERE departemen = ‘Penjualan’
ORDER BY umur ASC;
FROM karyawan
WHERE departemen = ‘Penjualan’
ORDER BY umur ASC;
Bila ingin mengurutkan berdasarkan dua atau lebih kolom, maka harus
dipisahkan dengan tanda koma, seperti dijabarkan di bawah ini:
SELECT
kode_karyawan, nama_depan, umur, gaji
FROM karyawan
WHERE departemen = ‘Penjualan’
ORDER BY umur, gaji DESC;
FROM karyawan
WHERE departemen = ‘Penjualan’
ORDER BY umur, gaji DESC;
Query di atas akan mengurutkan hasil query berdasarkan umur, baru kemudian
mengurutkan berdasarkan gaji secara descending.
o
Join Table
Dalam kenyataannya, query tidak
hanya dari satu tabel saja, mungkin dua atau lebih. Untuk itu diperlukan join table untuk menggabungkan dua atau
lebih tabel yang berelasi dalam suatu database
relational. Dengan join table
maka hanya dengan satu query yang
menggunakan perintah select dapat
menggabungkan data dari dua atau lebih tabel ke dalam satu hasil query.
Antar dua tabel yang berelasi pasti terdapat satu kolom yang sama. Kolom
inilah yang digunakan untuk menggabungkan dua tabel tersebut. Caranya adalah
sebagai berikut:
SELECT
konsumen.nama_depan, penjualan.no_faktur
FROM konsumen,
penjualan
WHERE konsumen.kode_konsumen=penjualan.kode_konsumen;
WHERE konsumen.kode_konsumen=penjualan.kode_konsumen;
Join table di atas merupakan inner join dimana akan menghasilkan semua nama depan dari konsumen
(yang diambil dari tabel konsumen) dan nomor faktur penjualan (yang diambil
dari tabel penjualan) dari semua baris dimana kode konsumen di tabel konsumen
sama dengan kode konsumen di tabel penjualan.
o
Perintah Insert
Perintah insert digunakan untuk
memasukkan atau menambah baris data ke dalam sebuah tabel. Format penulisan
perintah insert adalah sebagai
berikut:
INSERT INTO
tablename (first_column, …, last_column)
VALUES
(first_value, …, last value);
Parameter setelah tablename
adalah daftar kolom-kolom yang dipisahkan dengan koma, diikuti dengan kata values lalu diikuti lagi dengan daftar
nilai yang urutannya sesuai dengan daftar kolom sebelum kata values. Untuk nilai yang bernilai string harus diapit dengan tanda petik
satu sedangkan untuk yang bernilai integer tidak. Contohnya adalah sebagai
berikut:
INSERT INTO
karyawan (nama_depan, nama_belakang, umur, kota) VALUES (‘Sam’, ‘Ali’, 21, ‘Surabaya’);
Query di atas akan menambahkan baris baru pada tabel
karyawan dengan field nama_depan
bernilai “Sam”, field nama_belakang
bernilai “Ali”, field umur bernilai
21 dan field kota bernilai
“Surabaya”.
o
Perintah Update
Perintah update digunakan untuk
mengubah data yang sudah ada berdasarkan kondisi tertentu yang dijabarkan oleh keyword where. Format perintah
lengkapnya adalah sebagai berikut:
UPDATE tablename
SET columnname
=newvalue[,nextcolumn = newvalue2..]
WHERE columnname
<OPERATOR> value
[and|or
column" <OPERATOR> "value"];
keterangan : []
= optional
Contoh penggunaan :
UPDATE karyawan
SET umur = 15
WHERE nama_depan
= ‘Sam’;
o
Perintah Delete
Perintah delete digunakan untuk menghapus baris dari suatu tabel. Formatnya
adalah sebagai berikut:
DELETE FROM
tablename
WHERE columnname
<OPERATOR> value [and|or column
<operator>
value]
keterangan: [] =
optional
Contoh penggunaannya adalah seperti di bawah ini:
DELETE FROM
karyawan
WHERE nama_depan
= ‘Sam’;
Contoh di atas akan menghapus baris dari tabel “karyawan” yang field
“nama_depan”-nya bernilai “Ali”. Untuk menghapus seluruh baris dari suatu
tabel, kosongkan klausa where.
0 komentar:
Posting Komentar