Anda di halaman 1dari 3

LATIHAN MEMBUAT SQL

SQL atau Structured Query Languange adalah bahasa standar dalam basis data yang digunakan untuk melakukan
manipulasi data. SQL dapat dikelompokkan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.
A. Data Definition Language (DDL)
DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut
(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini
adalah CREATE, ALTER, dan DROP.
1. CREATE : digunakan memberi perintah pada database untuk membuat sebuah tabel baru. Membuat Tabel, Syntax :
CREATE TABLE NameTabel
(
Field TipeData (FieldSize) [NULL | NOT NULL]
[optional constraints]
);
2. ALTER : digunakan untuk memodifikasi column dan constraints dari tabel yang sudah dibuat. Constraint :
digunakan untuk membatasi nilai yang akan diinputkan ke dalam field dan untuk menetapkan relasi antar tabel.
3. ADD & DROP : digunakan untuk menambah & menghapus
Syntax : ALTER TABLE NamaTabel ADD Field TipeData (FieldSize) [NULL | NOT NULL];
ALTER TABLE NamaTabel DROP Field TipeData;
B. Data Manipulation Language (DML)
DML adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk
pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah :
INSERT, DELETE, UPDATE dan SELECT.
1. INSERT : digunakan untuk menyisipkan/memasukan data ke dalam tabel, syntax :
INSERT INTO NameTabel [(Field, ...)]
VALUES (IsiRecord, ...);
2. DELETE : digunakan untuk menghapus record dalam tabel, syntax :
DELETE FROM NameTabel WHERE Kondisi;
3. UPDATE : digunakan untuk memperbaharui record yang ada dalam tabel, syntax :
UPDATE NamaTabel SET Field = IsiRecord WHERE Kondisi;
4. SELECT : digunakan untuk mengambil record dari tabel, syntax :
SELECT Field(s) FROM NamaTabel(s);
a. Where : digunakan jika ada kondisi
b. Order by : digunakan untuk mengurutkan secara Ascending (Asc) ataupun Descending (Desc)
c. Like Operator : * (Mewakili banyak karakter), ? (Mewakili 1 karakter), # (Mewakili 1 angka)
d. Operator Pembanding : >, <, >=, <=, <>, =
e. Operator Logika : And, Or, Not, Between, In, Like
f. Fungsi Agregat : SUM, Count, Avg, Max, Min
g. Group By : digunakan untuk mengelompokan data, setidaknya menggunakan 1 fungsi agregat, syntax :
SELECT Field, Agregat (FieldAgregat) AS FieldBaru FROM NamaTabel GROUP BY Field;
h. Having : digunakan untuk menentukan kondisi bagi klausa GROUP BY, syntax :
SELECT Field, Agregat (FieldAgregat) AS FieldBaru FROM NamaTabel GROUP BY Field Having
kondisi;
i. Any : Digunakan untuk mengambil record dari query utama yang sesuai dengan sebagian record pada subquery,
syntax : SELECT * FROM NamaTabel where Field OperatorPembanding ANY (select Field from Tabel);
j. All : Digunakan untuk mengambil record dari query utama yang sesuai dengan semua record pada subquery,
syntax : SELECT * FROM NamaTabel where Field OperatorPembanding ALL (select Field from Tabel);
k. Inner Join : digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat
dibelakang on (tidak boleh null), syntax :
SELECT * FROM Tabel1 inner join Tabel2 on Tabel1.Field= Tabel2.Field;
l. Left Join : setiap record yang ditentukan di sebelah kiri kata LEFT JOIN, syntax :
SELECT * FROM Tabel1 left join Tabel2 on Tabel1.Field= Tabel2.Field;
m. Right : setiap record yang ditentukan di sebelah kanan kata RIGHT JOIN, syntax :
SELECT * FROM Tabel1 right join Tabel2 on Tabel1.Field= Tabel2.Field;
C. Data Controll Languange (DCL)
DCL merupakan bahasa yang digunakan untuk pengaturan akses seseorang user terhadap data. Catatan : user sudah
harus terdaftar. Misalnya Memberikan atau mencabut hak akses kepada user.
1. Memberikan hak akses pada user
GRANT hak_atau_privileges ON nama_database.nama_tabel TO nama_user. Menggunakan MySQL
2. Mencabut hak akses pada user
REVOKE hak_atau_privileges ON nama_database.nama_tabel TO nama_user. Menggunakan MySQL

Structure Query Language | Microsoft Access 1


PRAKTEK :
Untuk Menggunakan SQL di Ms. Access : Create > Query Design > Close > SQL View.
1. Membuat Tabel Menu
CREATE TABLE Menu
(
Kode Text (4) NOT NULL PRIMARY KEY,
Menu Text (30) NOT NULL,
Item Text (10) NOT NULL,
Harga Number NOT NULL
);
Ket :Untuk menjalankan query bisa menggunakan Run (!)
2. Menambahkan Field Baru (Keterangan) pada Tabel Menu
ALTER TABLE Menu ADD Keterangan Text (40) NULL;
3. Menghapus Field Keterangan pada Tabel Menu
ALTER TABLE Menu DROP Keterangan;
4. Memasukan Data/ Record pada Tabel Menu
a. INSERT INTO Menu (Kode, Menu, Item, Harga)
VALUES ("D001","Blue Berry Milkshake","Drink",27500);
b. INSERT INTO Menu
VALUES ("D002","Cold Grape","Drink",25000);
Lakukan Berulang sehingga data tabel Menu sebagai berikut

5. Mengcopy Record/ data dari Tabel Menu ke Tabel Menu1 secara langsung
SELECT Kode, Menu, Item, Harga
INTO Menu1
FROM Menu;
6. Mengupdate Record/ Data Harga kode S003 dari 36.000 menjadi 37.000
UPDATE Menu SET Harga = 37000 WHERE Kode = "S003";
7. Menghapus Record/ Data Kode S003
DELETE FROM Menu WHERE Kode = "S003";
8. Menambahkan Record dari Tabel Menu1 dengan kode S003 ke Tabel Menu
INSERT INTO Menu (Kode, Menu, Item, Harga)
SELECT Kode, Menu, Item, Harga FROM Menu1 where kode="S003";
9. Menghapus Tabel Menu1
DROP TABLE Menu1;
10. Menampilkan Menampilkan Record, Field Kode dan Menu dari Tabel Menu
SELECT Kode, Menu FROM Menu;
11. Menampilkan seluruh Record dan Field Tabel Menu
SELECT * FROM Menu;
12. Menampilkan Tabel Menu, diurutkan berdasarkan Menu secara Ascending
SELECT * FROM Menu Order by Menu;
13. Menampilkan Tabel Menu, diurutkan berdasarkan Menu secara Descending
SELECT * FROM Menu Order by Menu DESC;
14. Menampilkan Tabel Menu, diurutkan berdasarkan Item dan Harga secara Ascending
SELECT * FROM Menu Order by Item, Harga;
15. Menampilkan Menu yang diawali huruf B
SELECT * FROM Menu Where Menu like “B*”;
16. Menampilkan Harga yang 90.000an
SELECT * FROM Menu Where Harga like '9####';
17. Menampilkan Kode yang urutan huruf ke 2-4 adalah 001
SELECT * FROM Menu Where Kode like '?001';

Structure Query Language | Microsoft Access 2


18. Menampilkan Harga lebih dari 80.000 atau Item Pasta
SELECT * FROM Menu Where Harga>80000 or item ="Pasta";
19. Menampilkan Harga antara 35.000 sampai 90.000
SELECT * FROM Menu Where harga between 35000 and 90000;
20. Menampilkan Item Drink serta Pizza
SELECT * FROM Menu Where item in ("drink","pizza");
21. Menampilkan Item selain Drink serta Pizza
SELECT * FROM Menu Where item not in ("drink","pizza");
22. Menghitung Jumlah Menu pada Tabel Menu
SELECT count (menu) from menu;
23. Menghitung Total Harga pada Tabel Menu
SELECT sum (harga) from menu;
24. Menghitung Rata-rata Harga pada Tabel Menu
SELECT avg (harga) from menu;
25. Mencari Harga Terendah pada Tabel Menu
SELECT min (harga) from menu;
26. Mencari Harga Tertinggi pada Tabel Menu
SELECT max (harga) from menu;
27. Menghitung Jumlah Menu berdasarkan Item (Filed yang Tampil Item dan Jumlah_Menu)
SELECT Item, COUNT (Menu) AS Jumlah_Menu FROM Menu GROUP BY Item;
28. Menghitung Rata-rata Harga yang lebih besar dari 50.000 berdasar Item (Field yang Tampil Item dan RataRata_Harga)
SELECT Item, avg (harga) AS RataRata_Harga FROM Menu GROUP BY Item HAVING avg (harga) >=50000;
29. Menampilkan semua data, selain harga Terendah
SELECT * FROM menu where harga > ANY (select harga from menu);
30. Menampilkan data Harga yang Tertinggi
SELECT * FROM menu where harga >= All (select harga from menu);
31. Membuat Tabel Faktur
CREATE TABLE Faktur
(
No_Faktur counter NOT NULL,
kode Text (4) NOT NULL,
Pembeli text (20) NOT NULL,
Jumlah number NOT NULL
);

Isilah Tabel Faktur sebagai berikut :

32. Menampilkan seluruh data dari Tabel Faktur dan Tabel Menu, dengan relasi berdasarkan field kode
SELECT * FROM faktur inner join menu on faktur.kode=menu.kode;
33. Menampilkan filed No_Faktur, Kode, Pembeli, Jumlah (dari tabeFaktur) dan field Menu, Harga (dari tabel Menu)
SELECT Faktur.No_Faktur, Faktur.kode, Faktur.Pembeli, Faktur.Jumlah, Menu.Menu, Menu.Harga
FROM Faktur INNER JOIN Menu ON Faktur.kode = Menu.Kode;
34. Menampilkan record Tabel Faktur & Tabel Menu berdasarkan record tabel sebelah kiri syntax left join
SELECT * FROM menu left join faktur on faktur.kode=menu.kode;
35. Menampilkan record Tabel Faktur & Tabel Menu berdasarkan record tabel sebelah kanan syntax right join
Select * from faktur right join menu on faktur.kode=menu.kode;

Structure Query Language | Microsoft Access 3

Anda mungkin juga menyukai