SQL
Apakah SQL ?
• Merupakan bahasa komputer standar ANSI
(American National Standards Institute).
• Dengan SQL kita dapat
–
Membuat basis data dan struktur tabel
–
Input, update, dan delete data dari tabel
–
Membuat query sederhana dan kompleks
SQL
Pengelompokan Statement SQL
•
Data Definition Language ( DDL )
CREATE
DROP
ALTER
•
Data Manipulation Language ( DML )
INSERT
SELECT
UPDATE
DELETE
• Data Control Language (DCL)
GRANT
DDL
• Membuat atau menghapus database dan
mendefinisikan objek-objek
• Objek database:
Table
Index
Stored procedure
1. CREATE
• Untuk membuat database dan objek-objek
di dalam database
Membuat database
Create Database Namadatabase
Contoh
Mengaktifkan database yang telah dibuat
Use Namadatabase
Contoh:
Use Kepegawaian
Membuat Table
Create Table NamaTable (Nama_field/kolom typedata (size), …)
Contoh
Create Table pegawai
2. DROP
• Untuk menghapus database dan
objek-objek di dalam database
Menghapus database dan tabel
Drop Database Namadatabase
Contoh
Drop Database Kepegawaian
Drop Table Namatable
Contoh
3. ALTER
• Berfungsi untuk memodifikasi tabel
- menambah kolom / add
- menghapus kolom / drop
- merubah / modify
Menambah Kolom / ADD
Alter Table NamaTable ADD Namafield typedata (size)
Contoh
Alter Table Pegawai ADD status varchar (5);
Alter Table Pegawai ADD telepon varchar(30) AFTER nama; Alter Table Pegawai ADD No int(2) first;
Merubah Tipe Data
Alter Table NamaTable modify Namafield typedata (size)
Contoh
Merubah Nama Table (Rename)
ALTER TABLE nama_table RENAME TO nama_table_baru;
Contoh
Menghapus Kolom/Field / DROP
Alter Table NamaTable drop Namafield
Contoh
Alter Table Pegawai drop status;
Menambah Primary Key
Alter Table NamaTable add primary key (namafield)
Contoh
DML
Memanipulasi data (menampilkan,
1. INSERT
Digunakan untuk Menambah Data dalam
satu record
Insert Into NamaTable (namafield1,namafield2,…)
Values (‘nilaifield1’,’nilaifield2’,…);
Contoh
1. Insert Into pegawai (nip, nama, alamat) values (’01’,’andika’, ‘jl. A’);
2. Insert Into pegawai values (’01’,’andika’, ‘jl. A’);
3. Insert Into pegawai (nip, nama, alamat) values (’01’,’andika’, ‘jl. A’),
2. SELECT
Berfungsi untuk menampilkan data tertentu dari
suatu table sesuai dengan keinginan pengguna.
Select * from namatabel
Contoh
Select * from pegawai
(menampilkan data di semua field yang ada dalam table pegawai)
Select namafield,namafield from namatabel
Contoh
Select nip,alamat from pegawai
Menampilkan sebagian atribut beserta datanya
Select * from namatabel where namafield=‘nilaifield’
Contoh
Select * from pegawai where alamat=‘seutui’
Select distinct namafield from namatabel
Contoh
Select distinct alamat from pegawai
Menampilkan satu field beserta recordnya yang
tidak akan berulang
Baris-baris berulang (duplicate) tidak akan dipaparkan.
Sekiranya kita memilih lebih dari satu atribut ketika menggunakan
Select distinct namafield1,namafield2 from namatabel
Contoh
Select distinct alamat,status from pegawai
Menampilkan beberapa field beserta recordnya
yang sama tidak akan berulang
Select namafield ungkapan aritmatik from namatabel
Contoh
Select nama,gaji/2 from pegawai
• Kita boleh menamakan semula suatu atribut
(walaupun telah mempunyai nama) dengan
menggunakan
AS
• Kita dapat membuat dan mengubah judul
field yang akan di tampilkan
Select namafield As namafieldbaru from namatabel
Contoh
Select nama As namalengkap from pegawai
Select namafield from namatabel where simbol perbandingan
Contoh
Select nama,gaji from pegawai where gaji > 1000000;
Select nama,gaji from pegawai where gaji < 900000;
Select nama,gaji from pegawai where gaji = 900000;
Select namafield1,namafield2 from namatabel where namafield1 operatorboolean namafield2
Contoh
Select alamat,gaji from pegawai where alamat=‘seutui’ and gaji > 1000000;
Select alamat,gaji from pegawai where alamat=‘prada’ Or gaji > 900000;
Select * from pegawai where alamat=‘seutui’ Or alamat=‘prada’;
Operator Logik Boolean
• Apabila
AND
digunakan, disemua syarat
sebelum dan setelah
AND
harus benar untuk
suatu tuple dipilih
• Apabila
OR
digunakan, hanya salah satu syarat
sebelum atau sesudah
OR
harus benar ataupun
keduanya benar untuk suatu tuple dipilih
Select namafield from namatabel where namafield between nilai and nilai
Contoh
Select nama,gaji from pegawai where gaji between 850000 and 1000000
Jarak Nilai Sebagai Kriteria
Select namafield from namatabel where namafield In (nilaifield1,nilaifield2)
Contoh
Select * from pegawai where alamat In (‘seutui’,’prada’)
Select nama,alamat from pegawai where alamat In (‘seutui’,’prada’)
Operator In
Select namafield from namatabel where namafield Like ‘%ekspresi%’
Contoh
Select * from pegawai where alamat Like ‘%andi%’
(menampilkan semua klolom dari tabel pegawai yang namanya mengandung kata andi)
Operator Like
-Untuk pencarian data
Fungsi Agregat
fungsi yang mengambil suatu kumpulan nilai-nilai sebagai
input dan mengembalikan satu nilai sebagai output
SQL menyediakan 5 fungsi
AVG
: Rata-rata
MIN
: Minimum
MAX
: Maksimum
SUM
: PenJumlahan isi record
COUNT
: menjumlahkan data
• Operasi MIN, MAX dan COUNT dapat
dilakukan dalam atribut yang mempunyai
jenis data rentetan (
string
) seperti Char,
Text, dan Varchar
• Operasi AVG dan SUM hanya boleh
dilakukan keatas atribut-atribut yang
mempunyai jenis data numerik yang
a) SUM
Penjumlahan dalam satu kolom
Select sum (tunjangan) As jlh_tunj from pegawai
b) Avg
menghitung nilai rata-rata dalam satu kolom
c) Min
Untuk mencari atau menampilkan
nilai terendah
Select min (gaji) As Gaji_min from pegawai
(Menampilkan gaji terendah dari tabel pegawai)
Select min (gaji) As Gaji_min from pegawai where status=‘nikah’
d) MAX
Untuk mencari atau menentukan nilai tinggi
Select max (gaji) As Gaji_max from pegawai
(Menampilkan gaji terendah dari tabel pegawai)
Select max (gaji) As Gaji_max from pegawai where status=‘nikah’
e) COUNT
Menghitung jumlah record yang sesuai
dengan kondisi
Select count (nip) As jlh_peg from pegawai
(Menampilkan jumlah seluruh pegawai dari tabel pegawai)
Select count (nip) As jlh_peg from pegawai where status=‘nikah’
Select namafield1,namafield2 from namatabel Group by field pengacu
Contoh
Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin
Hasil
Pengelompokan Record (Group by)
Pada kondisi tertentu, sekumpulan record dapat
dikelompokkan berdasarkan satu atau lebih field yang
terdapat pada sebuah tabel atau query.
JenisKelamin jumlah
Pengurutan (Order by)
• Hasil dari query dapat di urutkan
berdasarkan pada satu atau lebih kolom.
Select namafield1 from namatabel where kriteria order by namafield
Select nim,nama where jeniskelamin=’perempuan’ order by nama
Select nim,nama where jeniskelamin=’perempuan’ order by nama asc
Select nim,nama where jeniskelamin=’perempuan’ order by nama desc
nim nama
Select namafield1,… from namatabel Group by field pengacu Having kondisi
Contoh
Select barang, count (jumlah) As totalfaktur from Torder Group by
Pernyataan Having
-menampilkan kelompok-kelompok data tertentu
-having berbeda dengan where, pernyataan where digunakan
untuk memberikan criteria sebelum pengelompokan dan
3. UPDATE
Berfungsi untuk mengubah satu atau lebih data
yang terdapat pada satu atau lebih kolom tabel
Update namatabel set namafield=nilai where kondisi
Contoh
Menukar record dalam Tabel
Update namatabel set namafield=nilai
Contoh
Update pegawai set gaji=gaji+12000
4. DELETE
Berfungsi untuk menghapus satu atau beberapa
record dalam suatu tabel.
Delete from namatabel where kondisi
Contoh
LATIHAN
• Buat table MAHASISWI_CANTIK
create table mahasiswi_cantik
(npm varchar(10),
nama varchar(50),
tempat_lahir varchar(40),
tanggal_lahir date,
• Insert Data ke table MAHASISWI_CANTIK
insert into mahasiswi_cantik
values ('201501001','Naura Krasiva Elsalna','Jakarta',
1998-10-12, 'Ilmu Komputer','Teknik Informatika');
Query OK, 1 row affected, 1 warning (0.04 sec)
insert into mahasiswi_cantik
values ('201502001','Nurul Hikmah','Jakarta',1997-01-01,
'Sastra','Sastra Inggris');
Tampilkan semua data MAHASISWI_CANTIK
select * from mahasiswi_cantik;
+---+---+---+---+----| npm +---+---+---+---+----| nama +---+---+---+---+----| tempat_lahir +---+---+---+---+----| tanggal_lahir +---+---+---+---+----| fakultas +---+---+---+---+----| jurusan +---+---+---+---+----| +---+---+---+---+---+---| 201501001 +---+---+---+---+---+---| Naura Krasiva E +---+---+---+---+---+---| Jakarta +---+---+---+---+---+---| 0000-00-00+---+---+---+---+---+---| Ilmu Komputer +---+---+---+---+---+---| Teknik
Informatika |
Tampilkan npm, nama, dan jurusan
LATIHAN 1
Contoh 1
=== LATIHAN 1
Contoh 2
select NIM, NAMA, SEX from MAHASISWA
=== LATIHAN 1
Contoh 3
select distinct SEX from MAHASISWA
=== LATIHAN 1
Contoh 4
select * from MAHASISWA
Output:
=== LATIHAN 1
Contoh 5
select NIM, NAMA as NAMA_MHS, SEX as JENIS_KELAMIN from MAHASISWA
Output:
LATIHAN 2
=== LATIHAN 2
Contoh 1
select * from KULIAH
where KODE_KUL = ‘ M001 ‘
=== LATIHAN 2
Contoh 2
Select * From KULIAH
Where SEMESTER = 6 and SKS >= 2
Output:
=== LATIHAN 2
Contoh 3
select * from KULIAH
where SEMESTER between 3 and 5;
Output:
=== LATIHAN 2
Contoh 4
Select * From KULIAH
Where NAMA_KULIAH like ‘ S%’
Output:
=== LATIHAN 2
Contoh 5
Select * from KULIAH
where NAMA_KULIAH like ‘ %A ‘
Output:
=== LATIHAN 2
Contoh 6
SELECT * FROM karyawan WHERE nama LIKE 'A_n';
Menampilkan data dari table karywan yang mempunyai nama dengan huruf awal 'A' dan huruf akhir 'n', seperti nama Aan, Andin, Abon, dan lain sebagainya.
Contoh 7
SELECT * FROM karyawan WHERE nama NOT LIKE 'A%';
=== LATIHAN 2 - Sorting
Contoh 8
SELECT * FROM mahasiswa ORDER BY nama ASC;
=== LATIHAN 2
Contoh 9
SELECT * FROM mahasiswa ORDER BY nama DESC;
=== LATIHAN 2
Contoh 10
SELECT * FROM mahasiswa ORDER BY nama ASC, asal ASC;;