2. Definisi
• SQL (Structured Query Language)
adalah bahasa standart yg digunakan
untuk memodifikasi dan mengakses data
atau informasi dari tempat penyimpanan
data yang disebut basis data.
• SQL adalah bahasa query yang
digunakan untuk mengakses dan
memodifikasi informasi dari dalam satu
tabel data atau lebih dalam database.
3. • Bahasa SQL pertama kali dikembangkan
pada oleh IBM pada 1970-an. SQL telah
menjadi bahasa standar Universal yang
digunakan oleh sebagian besar sistem
manajemen database relasional
(RDBMS).
• Beberapa sistem RDBMS seperti Oracle,
Microsoft SQL Server, Sybase dll telah
mengembangkan sendiri, sehingga
meningkatkan unjuk kerja sistem
RDBMS dan membuatnya menjadi alat
yang ampuh untuk mengolah data.
4. Pendahuluan
• Database SQL dibangun dari sejumlah tabel.
Dalam suatu kasus, tabel akan digunakan
untuk menyimpan data. Misalnya : Table
untuk Pelanggan, untuk Vendor, Karyawan
dan sebagainya.
• Setiap tabel terdiri dari sejumlah kolom dan
baris. Kolom disebut sebagai field dan baris
disebut record dengan tipe data masing2.
• Jenis tipe data adalah karakter (char), string
(varchar), tanggal (date), angka (number), dll.
5. Fungsi Bahasa SQL
Bahasa SQL, adalah bahasa yang digunakan
untuk berkomunikasi dengan database dengan
tujuan untuk mengelola data dalam tabel
database.
Beberapa Fungsi SQL adalah:
1. Membuat Database
2. Membuat tabel
3. Menyimpan data
4. Mengambil data
5. Memodifikasi data
6. Dan lain-lain
6. Kelompok Bahasa SQL
Bahasa SQL dikelompokkan
menjadi empat kategori menurut
fungsinya:
1. Data Definition Language (DDL)
DDL digunakan untuk membuat,
mengubah, dan menghapus
struktur objek database. Perintah-
perintah yang CREATE, ALTER,
DROP, RENAME, dan TRUNCATE.
7. 2. Data Manipulation Language (DML)
DML digunakan untuk menyimpan, mengambil,
mengubah, dan menghapus data.
Perintah DML adalah SELECT, INSERT, UPDATE,
Dan DELETE.
3. Transaksi Control Language (TCL)
TCL digunakan untuk mengelola perubahan yang
mempengaruhi data. Perintah TCL adalah
COMMIT, ROLLBACK, dan SAVEPOINT.
4. Data Control Language (DCL)
DCL digunakan untuk menyediakan keamanan
untuk objek database. Perintah DCL adalah
GRANT dan REVOKE.
8. Membuat Database
Perintah CREATE DATABASE
Adalah perintah untuk membuat database. Setelah
membuat database, kemudian membuat tabel-tabel yg
terdapat dalam database.
Bentuk Perintah :
CREATE DATABASE database_name
Database_name - adalah nama database yang akan
dibuat
Catatan : Perintah SQL tidak case sensitive.
9. Contoh :
• Buatlah sebuah database dengan nama
“mydatabase”
• Query Sql:
CREATE DATABASE MyDatabase ;
• Buatlah sebuah database dengan nama
“Mahasiswa”
• Query Sql :
CREATE DATABASE Mahasiswa
10. Perintah Use
USE digunakan untuk mengaktifkan database yang
akan dipakai dalam sistem database.
Bentuk Perintah :
USE database_name;
database_name – adalah nama database yg akan
diaktifkan
Contoh:
Jika ingin menggunakan database “mydatabase”,
maka perintahnya adalah :
USE MyDatabase ;
11. Membuat Tabel
Perintah CREATE TABLE
Digunakan untuk membuat struktur tabel dalam
basisdata.
Bentuk Perintah :
CREATE TABLE table_name
(column_name1 datatype,
column_name2 datatype,
... column_nameN datatype
);
• table_name - adalah nama tabel.
• column_name1, column_name2 .... - adalah
nama dari kolom
• datatype - adalah datatype untuk kolom seperti
char, tanggal, nomor dll
12. Contoh :
• Buatlah tabel dengan nama Student dengan
atribut Id, first_name, last_name, age,
subject, Game
• Query Sql :
CREATE TABLE Student
( id number(5), first_name char(20),
last_name char(20), age number(2),
subject char(15), game char(15)
);
13. Menginput data
Perintah : INSERT
Insert digunakan untuk menambahkan atau
menginput baris data ke dalam tabel.
Bentuk Perintah :
col1, col2, ... Col n - nama-nama kolom dalam
tabel di mana Anda ingin menyisipkan data.
INSERT INTO TABLE_NAME
[ (col1, col2, col3,...col N)]
VALUES (value1, value2, value3,...value N);
14. • Jika menambahkan nilai untuk semua kolom
dari sebuah tabel, maka tidak perlu
menyebutkan nama kolomnya tetapi harus
memastikan urutan nilai-nilai dalam urutan
yang sama seperti urutan kolom dalam tabel.
• Bentuk Perintah :
INSERT INTO TABLE_NAME
VALUES (value1, value2,
value3,...valueN);
15. Contoh Tabel Student
Id first_name last_name age subject Game
100 Rahul Sharma 10 Science Cricket
101 Anjali Bhagwat 12 Maths Football
102 Stephen Fleming 09 Science Cricket
103 Shekar Gowda 18 Maths Badminton
104 Priya Chandra 15 Economics Chess
16. • Tambahkan data ke Tabel Student seperti pada tabel
student.
• Query Sql:
INSERT INTO Student (id, first_name, last_name, age,
subject, game) VALUES (100, ‘Rahul’,'Sharma',
10,‘science', ‘Cricket’);
atau
INSERT INTO Student VALUES (100, ‘Rahul’,'Sharma',
10,‘science', ‘Cricket’);
INSERT INTO Student VALUES (101,’Anjali’, ‘Bhagwat’,
12, ‘Maths’, ‘Football’);
dst
17. Perintah SELECT
• SELECT digunakan untuk query atau mengambil data
dari tabel dalam database.
• Sebuah query dapat mengambil informasi dari kolom
tertentu atau dari semua kolom dalam tabel.
Bentuk Perintah :
• table-name adalah nama tabel dari mana informasi
tersebut diambil.
• column_list mencakup satu atau lebih kolom dari data
yang diambil.
• Clause yg lain tidak wajib digunakan.
SELECT column_list FROM table-name
[WHERE Clause]
[GROUP BY clause]
[HAVING clause]
[ORDER BY clause];
18. Contoh Tabel Student
Id first_name last_name age subject Game
100 Rahul Sharma 10 Science Cricket
101 Anjali Bhagwat 12 Maths Football
102 Stephen Fleming 09 Science Cricket
103 Shekar Gowda 18 Maths Badminton
104 Priya Chandra 15 Economics Chess
Buatlah query untuk menampilkan nama
pertama dari siswa.
SELECT first_name FROM student;
19. • Buatlah query untuk menampilkan nama depan dan
nama belakang dari semua siswa.
SELECT first_name, last_name FROM student;
• Tampilkan nama pertama dan terakhir dari tabel
Student kemudian digabungkan menjadi satu nama,
SELECT first_name + ' ' + last_name FROM student;
Output:
first_name + ' ' + last_name
---------------------------------
Rahul Sharma
Anjali Bhagwat
Stephen Fleming
Shekar Gowda
Priya Chandra
20. Gunakan tanda * untuk mewakiki semua
kolom dari sebuah tabel yg akan ditam-
pilkan
Contoh :
Select * From Student;
21. Perintah Select Dgn klausa Where
Klausa Where digunakan untuk
menyatakan syarat atau kondisi dari
data yg akan diproses.
Operator Perbandingan :
Operator Perbandingan digunakan
menyatakan syarat atau kondisi pada
klausa Where untuk menyaring data
yg akan dicari.
23. Perintah Delete
DELETE digunakan untuk menghapus
baris atau record dari tabel.
Bentuk Perintah :
• table_name - nama tabel yang harus
diperbarui
DELETE FROM table_name
[WHERE condition];
24. Contoh :
• Untuk menghapus seorang Siswa dengan id 100
dari tabel Student, query sql adalah :
DELETE * FROM Student WHERE id = 100;
• Untuk menghapus semua baris dari tabel
karyawan, sql query adalah :
DELETE * FROM Student;
Catatan :
Jika tidak menyertakan klausa WHERE, maka
semua baris dalam tabel akan dihapus. Hati-hati
saat menulis query DELETE tanpa klausa WHERE.
25. Perintah Truncate
• Perintah SQL TRUNCATE digunakan untuk menghapus
semua baris dari tabel dan mengosongkan ruang yang
berisi tabel.
Bentuk Perintah :
TRUNCATE TABLE table_name;
Contoh :
• Untuk menghapus semua baris dari tabel student,
query sqlnya adalah :
TRUNCATE TABLE student;
26. Perbedaan antara DELETE dan truncate
• DELETE :
Perintah Delete akan menghapus baris dari
tabel berdasarkan kondisi pada klausa Where
atau menghapus semua baris dari tabel jika
tidak ada kondisi yang ditentukan. Tapi itu
tidak mengosongkan ruang yang berisi Tabel.
• Truncate :
Perintah Truncate digunakan untuk
menghapus semua baris dari tabel dan
membebaskan ruang yang berisi tabel.
27. Perintah Drop
• Perintah SQL DROP digunakan untuk
menghapus semua baris dalam tabel dan
struktur tabel akan dihapus dari database.
• Tabel dihapus secara permanen sehingga
tidak bisa dipanggil kembali.
• Hati-hati saat menggunakan perintah DROP.
Bentuk Perintah :
DROP TABLE table_name;
28. Contoh :
Untuk mengurangi karyawan tabel, query akan
seperti
DROP TABLE employee;
Perbedaan antara DROP dan TRUNCATE Pernyataan:
Jika sebuah tabel di hapus dengan drop, maka
semua hubungan dengan tabel lain tidak akan
berlaku lagi.
Tapi, jika tabel dihapus dengan Truncate, maka
struktur tabel tetap sama.
29. Perintah Order By
• Klausa ORDER BY digunakan dalam
pernyataan SELECT untuk mengurutkan hasil
secara menaik atau menurun.
• Bentuk Perintah :
SELECT column-list
FROM table_name [WHERE condition]
[ORDER BY column-Name [DESC]];
• Secara default, data diurutkan secara menaik
(ascending). Jika sebaliknya, maka harus
menggunakan kata Desc
30. id name dept age salary location
100 Ramesh Electrical 24 25000 Bangalore
101 Hrithik Electronics 28 35000 Bangalore
102 Harsha Aeronautics 28 35000 Mysore
103 Soumya Electronics 22 20000 Bangalore
104 Priya InfoTech 25 30000 Mangalore
Tabel Pegawai (employee)
Urutkanlah data tabel karyawan berdasarkan gaji.
SELECT name, salary FROM employee ORDER BY salary;
32. • Klausa ORDER BY dapat menggunakan lebih dari
satu kolom sebagai syarat mengurutkan data.
• Kolom pada klausa ORDER BY harus menjadi
kolom yang dipilih dalam daftar kolom SELECT.
Contoh :
• Urutkanlah data tabel karyawan berdasarkan
nama dan gaji.
SELECT name, salary FROM employee ORDER BY
name, salary;
Outputnya adalah sbb:
33. • Nama kolom dalam klausa ORDER BY dapat
dituliskan dengan nomor urut posisi kolom
dalam daftar SELECT
SELECT name, salary FROM employee ORDER BY 1, 2;
34. Mengutkan data secara Menurun (Descending)
• Secara default, ORDER BY mengutkan data dalam
urutan menaik. Jika ingin mengurutkan data
dalam urutan menurun, tambahkan data Desc
Contoh :
SELECT name, salary
FROM employee
ORDER BY name, salary DESC;
• Pertanyaan di atas hanya kolom 'gaji' dalam
urutan Descending sedangkan kolom 'nama'
dalam urutan ascending.
35. • Jika ingin memilih kedua kolom nama dan gaji
dalam urutan Descending , maka querynya
adalah :
SELECT name, salary
FROM employee
ORDER BY name DESC, salary DESC;
36. Order by dengan klausa Where
• Tampilkanlah nama karyawan, gaji saat ini, dan
kenaikan gaji 20% dengan syarat hanya para
karyawan yg persentase kenaikan gaji lebih besar
dari 30000 dan dalam urutan kenaikan harga
• SELECT name, salary, salary*1.2 AS new_salary
FROM employee
WHERE salary*1.2 > 30000
ORDER BY new_salary DESC;
Catatan : As digunakan untuk membuat variabel
sementara dalam memori dengan nama New Salary
untuk menyimpan data kenaikan gaji.