Structured Query Language (SQL)
S
|
tructured Query Language (SQL) merupakan
bahasa yang banyak digunakan dalam berbagai produk database. SQL dibangun di
laboratorium IBM-San Jose California sekitar akhir tahun 70-an. Pertama kali
dikembangkan sebagai bahasa di produk database DB2 yang sampai saat ini
merupakan produk database andalan IBM. SQL sering di lafalkan dengan “sequel”.
Dengan menggunakan SQL memungkinkan Anda untuk menambah, mengubah, menghapus,
serta mencari data.
Untuk menuntun Anda agar lebih memahami
beberapa perintah SQL, maka akan diberikan sebuah tabel yang akan digunakan
dalam penjelasan pada pembahasan setiap perintah SQL.
Nama tabel adalah barang dengan struktur dan isi data sebagai berikut :
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
sampo
|
12345
|
10
|
2000
|
jeruk
|
21215
|
12
|
3000
|
snack
|
12123
|
25
|
10000
|
apel
|
23235
|
11
|
5000
|
bawang
|
25253
|
12
|
7000
|
ikan
|
23226
|
15
|
1000
|
permen
|
22225
|
125
|
200
|
mangga
|
11111
|
250
|
500
|
durian
|
01254
|
6
|
5000
|
Statement SELECT
Perintah SELECT digunakan untuk mencari atau mendapatkan
data baik itu secara keseluruhan, atau data dari kolom tertentu, atau data dengan kondisi tertentu, atau data
dari beberapa kolom sekaligus.
Menampilkan Data
Untuk menampilkan atau mengambil data dari
database adalah dengan menggunakan perintah atau statement SELECT.
Sintak :
SELECT namaKolom1, namaKolom2 FROM namaTabel
Contoh Penggunaannya :
SELECT * FROM barang
Perintah ini akan mencari dan mendapatkan
semua data dari semua kolom yang terdapat pada tabel barang.
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
sampo
|
12345
|
10
|
2000
|
jeruk
|
21215
|
12
|
3000
|
snack
|
12123
|
25
|
10000
|
apel
|
23235
|
11
|
5000
|
bawang
|
25253
|
12
|
7000
|
ikan
|
23226
|
15
|
1000
|
permen
|
22225
|
125
|
200
|
mangga
|
11111
|
250
|
500
|
durian
|
01254
|
6
|
5000
|
SELECT kode_barang, nama_barang FROM barang
Perintah ini akan mencari dan mendapatkan
semua data yang terdapat pada kolom kode_barang
dan nama_barang pada tabel barang.
nama_barang
|
kode_barang
|
sampo
|
12345
|
jeruk
|
21215
|
snack
|
12123
|
apel
|
23235
|
bawang
|
25253
|
ikan
|
23226
|
permen
|
22225
|
mangga
|
11111
|
durian
|
01254
|
Menyaring Data dengan WHERE
Pada contoh penggunaan statement SELECT dan
FORM di atas hanya membatasi jumlah kolom yang ditampilkan saja, sedangkan
jumlah baris tidak dibatasi. Untuk membatasi data yang akan diambil berdasarkan
kriteria tertentu, maka perintah akan ditambahkan dengan statemant WHERE.
Perintah WHERE digunakan untuk menyaring atau
mem-filter data-data yang akan diambil berdasarkan kriteria yang ditentukan.
Dengan kata lain data-data yang akan diambil atau ditampilkan hanya yang
memenuhi kriteria atau kondisi yang telah ditentukan.
Sintak :
SELECT namaKolom FROM namaTabel WHERE Kondisi
Contoh Penggunaannya :
SELECT nama_barang, jml_barang FROM barang
WHERE kode_barang = ‘1235’
Perintah ini akan mencari dan mendapatkan data
yang terdapat pada kolom nama_barang
dan jml_barang pada tabel barang dengan kondisi dari kode_barang adalah “12345”.
nama_barang
|
jml_barang
|
sampo
|
10
|
Selain menggunakan operator pembanding
misalnya = (sama dengan), <> (tidak sama dengan), < (lebih kecil), > (lebih besar), <= (lebih kecil dan sama dengan), >= (lebih besar dan sama dengan), Anda juga
dapat menggunakan perintah Logika misalkan OR
(atau) serta AND (dan).
SELECT nama_barang, kode_barang FROM barang
WHERE jml_barang = ‘12’ OR harga_barang >= ‘7000’
Perintah ini akan mencari dan mendapatkan data
yang terdapat pada kolom nama_barang
dan kode_barang pada tabel barang dengan kondisi jml_barang sama dengan ‘12’ atau harga_barang lebih besar
atau sama dengan ‘7000’.
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
jeruk
|
21215
|
12
|
3000
|
snack
|
12123
|
25
|
10000
|
bawang
|
25253
|
12
|
7000
|
SELECT nama_barang, kode_barang FROM barang
WHERE jml_barang = ‘12’ AND harga_barang >= ‘7000’
Perintah ini akan mencari dan mendapatkan data
yang terdapat pada kolom nama_barang dan
kode_barang pada tabel barang dengan kondisi hanya jml_barang sama dengan ‘12’ dan harga_barang lebih besar
atau sama dengan ‘7000’.
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
bawang
|
25253
|
12
|
7000
|
Hasil perintah OR dan AND akan berbeda karena
pada perintah OR akan menampilkan semua data yang memenuhi salah satu dari dua
kriteria yang ditentukan yaitu jml_barang = 12 atau harga_barang >= 7000,
sedangkan pada perintah AND hanya akan menampilkan data-data yang memenuhi
kedua kriteria yang ditentukan yaitu jml_barang = 12 dan harga_barang >=
7000.
Mengurutkan Data dengan ORDER BY
Pada saat Anda menampilkan hasil pencarian
data, secara default data-data tersebut akan diurutkan berdasarkan urutan
masuknya data ke dalam tabel. Untuk mengurutkan hasil pencarian data
berdasarkan urutan abjad maupun angka, Anda dapat menggunakan statement ORDER
BY.
Perintah ORDER BY digunakan untuk mengurutkan
data-data berdasarkan abjad atau angka pada data yang terdapat pada kolom yang
telah ditentukan. Secara default perintah ORDER BY akan mengurutkan dari abjad
A sampai dengan Z dan angka 0 sampai dengan 9 (abjad atau angka pertama). Untuk
mengurutkan data dari abjad Z sampai dengan A atau angka 9 sampai dengan 0,
maka pada akhir perintah ditambahkan dengan statement DESC (Descending).
Sintak :
SELECT
namaKolom FROM namaTabel [WHERE Kondisi] ORDER BY namaKolom [DESC]
Contoh Penggunaannya :
SELECT * FROM barang ORDER
BY nama_barang
Perintah ini akan menampilkan semua data pada
tabel barang dengan mengurutkan data
berdasarkan abjad dari A sampai dengan Z pada data yang terdapat di dalam kolom
nama_barang.
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
apel
|
23235
|
11
|
5000
|
bawang
|
25253
|
12
|
7000
|
durian
|
01254
|
6
|
5000
|
ikan
|
23226
|
15
|
1000
|
jeruk
|
21215
|
12
|
3000
|
mangga
|
11111
|
250
|
500
|
permen
|
22225
|
125
|
200
|
sampo
|
12345
|
10
|
2000
|
snack
|
12123
|
25
|
10000
|
SELECT * FROM barang ORDER
BY nama_barang DESC
Perintah ini akan menampilkan semua data pada
tabel barang dengan mengurutkan data
berdasarkan abjad dari Z sampai dengan A pada data yang terdapat di dalam kolom
nama_barang.
nama_barang
|
kode_barang
|
jml_barang
|
harga_barang
|
snack
|
12123
|
25
|
10000
|
sampo
|
12345
|
10
|
2000
|
permen
|
22225
|
125
|
200
|
mangga
|
11111
|
250
|
500
|
jeruk
|
21215
|
12
|
3000
|
ikan
|
23226
|
15
|
1000
|
durian
|
01254
|
6
|
5000
|
bawang
|
25253
|
12
|
7000
|
apel
|
23235
|
11
|
5000
|
Melakukan Perhitungan Matematika
Dengan perintah SELECT selain Anda dapat
mengambil data yang diinginkan, Anda juga dapat melakukan perhitungan
matematika seperti operator matematika yang terdiri dari penjumlahan (+),
pengurangan (-), pembagian (/), dan perkalian (*), serta fungsi matematika lainnya seperti penjumlahan berkelompok
(SUM), nilai rata-rata (AVG), nilai maksimum (MAX), dan nilai minimum (MIN).
Syarat utama dalam melakukan perhitungan
matematika dengan perintah SQL adalah membuat ALIAS (AS) untuk nama kolom hasil
dari perhitungan matematika. Apabila dalam melakukan perhitungan tidak
melakukan ALIAS, maka kolom data hasil perhitungan tidak dikenal. Disamping
membuat ALIAS, salah satu syarat lainnya adalah data pada kolom yang akan
dihitung harus bertipe angka (number).
Oparetor Matematika
Operator matematika adalah perhitungan
bilangan yang terdiri dari penjumlahan (+), pengurangan (-), pembagian (/), dan
perkalian (*).
Sintaknya :
SELECT [namaKolom], (namaKolom/Angka <operator>
namaKolom/Angka) AS kolomAlias FROM namaTabel [WHERE kondisi]
Contoh Penggunaannya :
SELECT
nama_barang, (jml_barang + 10) AS tambah FROM barang
Perintah ini akan menjumlahkan data pada kolom
jml_barang dengan angka 10 yang terdapat pada tabel barang
dengan nama kolom alias adalah tambah kemudian menampilkan kolom nama_barang dan kolom tambah.
nama_barang
|
tambah
|
sampo
|
20
|
jeruk
|
22
|
snack
|
35
|
apel
|
21
|
bawang
|
22
|
ikan
|
25
|
permen
|
135
|
mangga
|
260
|
durian
|
16
|
SELECT
(jml_barang + 10) AS tambah FROM barang
Perintah ini akan menjumlahkan data pada kolom
jml_barang dengan angka 10 yang terdapat pada tabel barang
dengan nama kolom alias adalah tambah
kemudian menampilkan kolom tambah.
tambah
|
20
|
22
|
35
|
21
|
22
|
25
|
135
|
260
|
16
|
SELECT
nama_barang, (jml_barang + 100) AS tambah, (jml_barang - 10) AS pengurangan,
(jml_barang * harga_barang) AS perkalian, (harga_barang / 10) AS pembagian FROM
barang
Perintah ini akan menjumlahkan data pada kolom
jml_barang dengan angka 100 yang terdapat pada tabel barang
dengan nama kolom alias adalah tambah,
mengurangkan data pada kolom jml_barang dengan angka 10 dengan nama kolom alias
adalah pengurangan, mengalikan data pada kolom jml_barang dengan data pada
kolom harga barang dengan nama kolom alias adalah perkalian, membagi data pada
kolom harga_barang dengan angka 10 dengan nama kolom alias adalah pembagian,
kemudian menampilkan kolom nama_barang,
tambah, pengurangan, perkalian, dan pembagian.
nama_barang
|
tambah
|
pengurangan
|
perkalian
|
pembagian
|
sampo
|
110
|
0
|
20000
|
200
|
jeruk
|
112
|
2
|
36000
|
300
|
snack
|
125
|
15
|
250000
|
1000
|
apel
|
111
|
1
|
55000
|
500
|
bawang
|
112
|
2
|
84000
|
700
|
ikan
|
115
|
5
|
15000
|
100
|
permen
|
225
|
115
|
25000
|
20
|
mangga
|
350
|
240
|
125000
|
50
|
durian
|
106
|
-4
|
30000
|
500
|
Fungsi Penjumlahan Berkelompok (SUM)
Penjumlahan berkelompok adalah menjumlahkan
data-data yang terdapat pada kolom tertentu yang telah dikelompokkan menurut
kriteria tertentu. Fungsi SUM ini sangat tepat digunakan apabila Anda ingin
menjumlahkan data yang terdapat di dalam satu kolom.
Sintaknya :
SELECT
SUM(namaKolom) AS kolomAlias FROM namaTabel [WHERE kondisi]
Contoh penggunaannya :
SELECT
SUM(jml_barang) AS total_barang, SUM(harga_barang) AS total_harga FROM barang
Perintah ini akan menjumlahkan semua data yang
terdapat pada kolom jml_barang
dengan nama kolom alias adalah total_barang,
serta menjumlahkan semua data yang terdapat pada harga_barang dengan nama kolom alias dalah total harga.
total_barang
|
total_harga
|
466
|
33700
|
Fungsi nilai rata-rata (AVG)
Fungsi AVG ini akan menghitung nilai rata-rata
dari sekumpulan data yang terdapat pada kolom yang telah ditentukan.
Sintaknya :
SELECT
AVG(namaKolom) AS kolomAlias FROM namaTabel [WHERE kondisi]
Contoh penggunaannya :
SELECT
AVG(jml_barang) AS rata2_barang, AVG(harga_barang) AS rata2_harga FROM barang
Perintah ini akan menghitung nilai rata-rata
dari data yang terdapat pada kolom jml_barang
dengan nama kolom alias adalah rata2_barang,
serta menghitung nilai rata-rata dari data yang terdapat pada harga_barang dengan nama kolom alias
dalah rata2_harga.
rata2_barang
|
rata2_harga
|
51,77778
|
3744,444
|
Fungsi nilai Maksimal (MAX)
Fungsi MAX ini akan mencari nilai maksimal
atau nilai tertinggi dari sekumpulan data yang terdapat pada kolom yang telah
ditentukan.
Sintaknya :
SELECT
MAX(namaKolom) AS kolomAlias FROM namaTabel [WHERE kondisi]
Contoh penggunaannya :
SELECT
MAX(jml_barang) AS maks_barang, MAX(harga_barang) AS maks_harga FROM barang
Perintah ini akan mencari nilai maksimal atau
nilai tertinggi dari data yang terdapat pada kolom jml_barang dengan nama kolom alias adalah maks_barang, serta mencari nilai maksimal atau nilai tertinggi dari
data yang terdapat pada harga_barang
dengan nama kolom alias dalah maks_harga.
maks_barang
|
maks_harga
|
250
|
10000
|
Fungsi nilai Minimal (MIN)
Fungsi MAX ini akan mencari nilai minimal atau
nilai terendah dari sekumpulan data yang terdapat pada kolom yang telah
ditentukan.
Sintaknya :
SELECT
MIN(namaKolom) AS kolomAlias FROM namaTabel [WHERE kondisi]
Contoh penggunaannya :
SELECT
MIN(jml_barang) AS minim_barang, MIN(harga_barang) AS minim_harga FROM barang
Perintah ini akan mencari nilai nilai minimal
atau nilai terendah dari data yang terdapat pada kolom jml_barang dengan nama kolom alias adalah minim_barang, serta mencari nilai minimal atau nilai terendah dari
data yang terdapat pada harga_barang
dengan nama kolom alias dalah minim_harga.
minim_barang
|
minim_harga
|
6
|
200
|
Statement INSERT
Perintah INSERT digunakan untuk memasukkan
atau menyimpan data ke dalam tabel. Dalam penggunaan perintah INSERT yang perlu
diperhatikan adalah tipe dari setiap kolom yang akan dimasukkan misalnya sebuah
kolom memiliki tipe number maka data yang dimasukkan harus berupa data bertipe
number begitu juga dengan kapasitas banyaknya karakter dari kolom tersebut.
Sintaknya :
INSERT
INTO namaTabel (namaKolom1, NamaKolom2,.., namaKolomN) VALUES (nilaiKolom1,
nilaiKolom2,.., nilaiKolomN)
Contoh Penggunaannya :
INSERT
INTO barang (kode_barang, jml_barang, nama_barang) VALUES (‘12345’, ‘10’,
‘Printer’)
Perintah ini akan menyimpan atau menambahkan
data ke dalam tabel barang dengan
data pada kolom kode_barang adalah “12345”, kolom jml_barang adalah “10”,
dan kolom nama_barang adalah “Printer”.
Apabila Anda ingin memasukkan data ke seluruh
kolom yang terdapat dalam sebuah tabel, maka Anda tidak perlu lagi menyebutkan
nama-nama kolom tersebut. Data-data yang akan dimasukkan akan tersimpan ke
dalam kolom-kolom yang terdapat pada tabel secara berurutan sesuai dengan
urutan data yang dimasukkan. Misalnya Anda memiliki sebuah tabel bernama TABEL yang terdiri dari tiga buah kolom
dengan nama-nama masing-masing kolom adalah sebagai berikut kolom pertama
bernama KOLOM1, kolom kedua bernama KOLOM2, dan kolom ketiga bernama KOLOM3, maka pada saat akan memasukkan
data dengan menggunakan perintah INSERT
Anda tidak perlu lagi menyebutkan satu per satu nama kolom-kolom tersebut, ini
dapat dilihat pada contoh penggunaan perintah INSERT di bawah ini.
INSERT
INTO TABEL VALUES (‘data kolom1’, ‘ini kolom2’, ‘kolom3 ya’)
Perintah di atas akan menyimpan atau
menambahkan data pada tabel TABEL
dengan data pada KOLOM1 adalah ‘data kolom1’, kolom KOLOM2 adalah ‘ini kolom2’, dan kolom KOLOM3
adalah ‘kolom3 ya’.
Statement UPDATE
Perintah UPDATE digunakan untuk merubah atau
mengedit nilai data yang telah tersimpan sebelumnya pada tabel.
Sintaknya :
UPDATE
namaTabel SET namaKolom = nilaiBaru [WHERE kondisi]
Contoh Penggunaannya :
UPDATE
barang SET jml_barang = ‘12’, nama_barang = ‘Monitor’ WHERE kode_barang =
‘12345’
Perintah ini akan mengubah data pada tabel barang dengan data pada kolom jml_barang menjadi “12” dan nama_barang menjadi “Monitor”
dari data yang memiliki nilai pada kolom kode_barang
sama dengan “12345”.
Statement DELETE
Perintah DELETE digunakan untuk menghapus data
yang terdapat pada tabel.
Sintak :
DELETE FROM
namaTabel [WHERE kondisi]
Contoh Penggunaannya :
DELETE FROM
barang
Printah ini akan menghapus semua data yang
terdapat pada tabel barang.
DELETE FROM
barang WHERE kode_barang = ‘12345’
Perintah ini akan menghapus semua data yang
terdapat pada tabel barang dengan nilai
atau kondisi dari kolom kode_barang
sama dengan “12345”.
Statement CREATE
Perintah CREATE digunakan untuk membuat atau
mendefinisikan stuktur database, seperti membuat database, tabel, dan index.
Sintaknya :
CREATE
TABLE namaTabel (namaKolom1 tipe_data(panjang_data) [konstrain], namaKolom2 tipe_data(panjang_data) [konstrain], ..., namaKolom3 tipeData(panjang_data) [konstrain])
Contoh Penggunaannya :
CREATE
TABLE barang (jml_barang NUMBER(10) PRIMARY KEY, kode_barang VARCHAR(35),
nama_barang VARCHAR(50))
Perintah ini akan membuat tabel baru dengan
nama barang dengan struktur adalah
sebagai berikut :
n Kolom jml_barang dengan tipe
data NUMBER, panjang data maksimal
adalah 10 karakter dan merupakan PRIMARY KEY.
n Kolom kode_barang dengan
tipe data VARCHAR panjang data
maksimal adalah 35 karakter.
n Kolom nama_barang dengan
tipe data VARCHAR panjang data
maksimal adalah 50 karakter.
Statement ALTER
Perintah ALTER digunakan memodifikasi struktur
database yang telah ada sebelumnya, seperti menambahkan kolom baru, menghapus
kolom, atau menambahkan konstrain pada kolom.
Sintak :
ALTER TABLE <nama_tabel> atribut
Atribut
untuk menambah kolom adalah ADD
<nama_kolom> <tipe_data>(<panjang_data>)
Atribut
untuk memodifikasi kolom adalah MODIFY
<nama_kolom> <tipe_data>(<panjang_data>)
Contoh Penggunaannya :
ALTER
TABLE barang ADD harga_barang NUMBER(15)
Perintah ini akan menambahkan kolom baru pada
table barang, kolom baru tersebut
adalah harga_barang dengan tipe data
adalah NUMBER dengan panjang data
maksimal adalah 15 karakter.
ALTER
TABLE barang MODIFY harga_barang VARCHAR(25)
Perintah ini akan merubah atau memodifikasi
kolom pada table barang, kolom tersebut adalah harga_barang yang dirubah tipe data menjadi VARCHAR dan panjang data maksimal menjadi 25 karakter.
Statement DROP
Perintah DROP digunakan untuk menghapus
database secara keseluruhan.
Sintaknya :
DROP
namaTabel
Contoh Penggunaannya :
DROP
barang
Perintah ini akan menghapus tabel barang
beserta data yang terdapat di dalamnya.
Tidak ada komentar:
Posting Komentar