Apa itu Structured Query Language (SQL)?

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]
[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;
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;
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;
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;
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

 

Serba Ada Blog Copyright © 2011-2012 | Powered by Blogger