Structured Query Language (SQL) adalah standar bahasa komputer versi ANSI (American National Standards Institute) untuk mengakses dan memanipulasi sistem basis data. Secara garis besar SQL dibagi manjadi dua bahasa tujuan, yakni Data Definition Language (DDL) dan Data ManipulationLanguage (DML). DDL bertujuan untuk mendefinisikan atau menyusun data. Ada beberapa perintah SQL yang ada di DDL, diantaranya adalah :
- 1. CREATE TABLE
Perintah ini digunakan untuk membuat tabel baru di database. Adapun kaidah penulisanya adalah sebagai berikut :
CREATE TABLE nama_table(
nama_kolom_1 tipe_data([ukuran]),
nama_kolom_2 tipe_data([ukuran]),
nama_kolom_n tipe_data([ukuran]));
Contoh :
CREATE TABLE mahasiswa(
nobp varchar(10),
nama varchar(30),
prodi varchar(30));
- 2. ALTER TABLE
Perintah ini digunakan untuk mengubah struktur tabel di database. Adapun bentuk umum penulisanya adalah seperti berikut :
ALTER TABLE nama_tabel
ADD nama_kolom tipe_data;
Contoh :
ALTER TABLE mahasiswa
ADD jurusan varchar(30);
ALTER TABLE nama_tabel
CHANGE nama_kolom_lama nama_kolom_baru tipe_data;
Contoh :
ALTER TABLE mahasiswa
CHANGE jurusan jur varchar(30);
ALTER TABLE nama_tabel
DROP nama_kolom;
Contoh :
ALTER TABLE mahasiswa
DROP jur;
- 3. DROP TABLE
Perintah ini digunakan untuk menghapus tabel yang ada di database. Adapun bentuk umum penulisanya adalah :
DROP TABLE nama_tabel;
Contoh :
DROP TABLE mahasiswa;
Sedangkan DML bertujuan untuk memanipulasi atau mengolah data. Berikut ini beberapa perintah SQL yang digunakan di DML :
- 1. SELECT
Perintah ini digunakan untuk menampilkan isi tabel yang ada di database. Adapun bentuk umum penulisanya adalah :
SELECT * FROM nama_tabel;
Contoh :
SELECT * FROM mahasiswa;
- 2. INSERT INTO
Perintah ini digunakan untuk memasukkan data ke dalam tabel yang ada di database. Bentuk umum penulisanya adalah sebagai berikut :
INSERT INTO nama_tabel (nama_kolom_1, .. ,nama_kolom_n)
VALUES (‘data_1’,’…’,’data_n);
Contoh :
INSERT INTO mahasiswa(nobp,nama,prodi)
VALUES (‘0901092063’,’Ade’,’MI’);
- 3. UPDATE
Perintah ini digunakan untuk mengubah data di database. Adapun bentuk umum penulisanya adalah :
UPDATE nama_tabel
SET nama_kolom = data_baru
WHERE nama_kolom = data;
Contoh :
UPDATE mahasiswa
SET prodi = ‘TK’
WHERE nobp = 0901092063;
- 4. DELETE
Perintah ini digunakan untuk menghapus data di database. Adapun bentuk umum penulisanya adalah sebagai berikut :
DELETE FROM nama_tabel
WHERE kondisi;
Contoh :
DELETE FROM mahasiswa
WHERE nobp = 0901092063;
Selain perintah-perintah SQL di atas masih banyak perintah SQL yang lainya. Salah satunya perintah dalam penggabungan data antara dua buah tabel atau lebih. Ada beberapa bentuk penggabungan data diantaranya menggunakan JOIN maupun manggunakan operator UNION [12]:
- Natural Join
Natural Join adalah penggabungan data dari dua buah tabel yang didasarkan pada kolom dengan nama sama pada kedua tabel. Penggabungan ini mencerminkan hubungan antara kunci tamu dan kunci primer dalam dua buah tabel. Kata kunci yang digunakan adalah NATURAL JOIN, contoh penggunaanya adalah sebagai berikut :
SELECT nama_kota, nama_prov
FROM kota NATURAL JOIN provinsi;
atau
SELECT nama_kota, nama_prov
FROM provinsi NATURAL JOIN kota;
- Cross Join
Bentuk paling sederhana dari penggabungan dua buah tabel akan membentuk perkalian kartesian. Yang mana jika jumlah data pada tabel 1 adalah N1 dan jumlah data pada tabel 2 adalah N2, maka hasil perkalian kartesian berupa N1 x N2, seperti pernyataan SQL berikut :
SELECT kota.nama_kota,provinsi.nama_prov
FROM kota,provinsi;
Penyataan di atas bisa juga ditulis menggunakan CROSS JOIN, sehingga menjadi seperti berikut:
SELECT nama_kota,nama_prov
FROM kota CROSS JOIN provinsi;
atau
SELECT nama_kota,nama_prov
FROM provinsi CROSS JOIN kota;
Selain itu, CROSS JOIN dapat diikuti dengan suatu kondisi penggabungan bentuk ON kondisi atau USING (daftar_kolom). Berikut contoh penggunaan ON dan USING pada CROSS JOIN :
SELECT nama_kota,nama_prov
FROM provinsi CROSS JOIN kota
ON kota.kode_prov=provinsi.kode_prov;
dan
SELECT nama_kota,nama_prov
FROM provinsi CROSS JOIN kota
USING (kode_prov);
Pada contoh di atas, ON dan USING membuat perkalian kartesian dibatasi yaitu, hanya yang memenuhi syarat berupa nilai yang sama pada kode_prov.
- Inner Join dan Outer Join
Inner Join ialah penggabungan data antara dua buah tabel yang akan menghasilkan baris yang memiliki data pada kedua tabel tersebut, seperti contoh query diatas. Sedangkan Outer Join ialah penggabungan data antara dua tabel yang hasilnya berupa semua baris yang dimiliki oleh salah satu tabel tersebut.
Hal tersebut dapat dilakukan menggunakan NATURAL LEFT JOIN atau menggunakan LEFT JOIN dengan menggunakan kondisi ON atau USING seperti pada CROSS JOIN. Contoh penggunaanya adalah sebagai berikut :
SELECT nama_kota,nama_prov
FROM kota NATURAL LEFT JOIN provinsi;
atau
SELECT nama_kota,nama_prov
FROM kota LEFT JOIN provinsi
ON kota.kode_prov=provinsi.kode_prov;
atau
SELECT nama_kota,nama_prov
FROM kota LEFT JOIN provinsi
USING (kode_prov);
Selain menggunakan kata kunci LEFT juga bisa menggunakan kata kunci RIGHT. Seperti menggunakan NATURAL RIGHT JOIN atau menggunakan RIGHT JOIN dengan kondisi ON atau USING. Berikut contoh penggunaanya :
SELECT nama_kota,nama_prov
FROM kota NATURAL RIGHT JOIN provinsi;
atau
SELECT nama_kota,nama_prov
FROM kota RIGHT JOIN provinsi
ON kota.kode_prov=provinsi.kode_prov;
atau
SELECT nama_kota,nama_prov
FROM kota RIGHT JOIN provinsi
USING (kode_prov);
Hasil query dengan kata kunci LEFT di atas adalah berupa gabungan kedua buah tabel yang menampilkan semua kota meskipun belum memiliki provinsi. Sedangakan hasil query dengan kata kunci RIGHT berupa gabungan kedua buah tabel yang menampilkan semua provinsi meskipun belum memiliki kota.
- Operator Union
Operator UNION berguna untuk menggabungkan hasil dari dua buah query tanpa ada baris yang kembar. Berikut contoh penggunaan operator UNION :
SELECT nama_kota,nama_prov
FROM kota NATURAL LEFT JOIN provinsi;
UNION
SELECT nama_kota,nama_prov
FROM kota NATURAL RIGHT JOIN provinsi;
Dengan cara di atas memungkinkan untuk memperoleh semua kota yang tidak punya pasangan nama provinsi, semua provinsi yang memiliki pasangan dalam tabel kota dan sekaligus semua kota yang mempunyai pasangan nama provinsi dalam tabel provinsi.
Referensi :
Wahyudi, Bambang. 2008. Konsep Sistem Informasi dari Bit sampai ke Database. Yogyakarta: