Anda di halaman 1dari 12

Structured Query Language

-SQL-

Jenis bahasa dalam SQL


–DDL (Data Definition Language)
Bahasa yang dipergunakanuntukmendefinisikandata yang
berhubungandenganpembuatandanpenghapusanobjeksepertidatabase, tabel, indeks.
CREATE, DROP, ALTER
–DML (Data Manipulation Language)
Bahasa yang berhubungandenganprosesmanipulasidata padatabel, record
INSERT, UPDATE, SELECT, DELETE

Objectives
 Memanipulasi data table
 Statement select
 Operator
 Fungsi

1
Ekspresi dan Operator
 + (positif), -(negatif),
 * (perkalian), / (pembagian), % (modulus)
 + (penjumlahan), + (penggabungan), -(pengurangan)
 =,>,<,>=,<=,<>,!=,!>,!< (perbandingan)
 = (penugasan)

SELECT
 Perintah SELECT dipergunakan untuk menampilkan baris-baris data dari tabel
 Hanya dipergunakan untuk melakukan proses pengambilan data, bukan
digunakan untuk mengubah data-data di dalam database
 Tidak akan menyebabkan data berubah atau terhapus

•Syntax :

SELECT [ ALL | DISTINCT ][ TOP n[ PERCENT ] [ WITH TIES ] ] < select_list >
< select_list > ::=
{* | { table_name| view_name| table_alias }.*| { column_name| expression |
IDENTITYCOL | ROWGUIDCOL } [ [ AS ] column_alias] | column_alias = expression }[
,...n ]

Secara sederhana :

SELECT [ predikat]{(field1, field2, field n)}


FROM nama_tabel[As tabel_alias]
WHERE [kondisi]

Menampilkan seluruh record


•Perintah Select *
–Dipergunakan untuk menampilkan seluruh record dalam suatu tabel.
–Penggunaannya :

Select * from nama tabel


Contoh, untuk menampilkan semua record dari tabel karyawan :
Select * from karyawan

Menampilkan beberapa field


Untuk menampilkan beberapa field dalam satu tabel, dapat dipergunakan perintah

2
SELECT (field1, field2,….., field_n)
FROM nama_tabel

Contoh :
SELECT kode_karyawan, nama_karyawan FROM karyawan

 Hasilnya, hanya akan ditampilkan field tertentu saja yang dipilih dari tabel
tersebut.

Menampilkan data dengan kondisi


 Untuk menampilkan data tertentu dengan suatu syarat/kondisi tertentu dapat
dipergunakan :

SELECT * FROM nama_tabel


WHERE [kondisi]

Contoh :

SELECT * FROM karyawan


WHERE kode_karyawan = 2005000341

•Setelah dijalankan, maka record yang ditampilkan hanya record yang sesuai dengan
kondisi yang ditentukan, yaitu record yang memiliki kode_karyawan = 2005000341

•Contoh lain, menampilkan kode_karyawan, nama_karyawan, gaji untuk karyawan


yang memiliki kode_karyawan = 200500341

3
•Contoh lain, bila ingin menampilkan data kode_karyawan, nama_karyawan, gaji dari
karyawan yang memiliki gaji diatas 2000000

•Contoh lain, ingin menampilkan kode_karyawan, nama_karyawan, gaji dari semua


karyawan yang memiliki gaji tidak sama dengan 2000000

Menampilkan data dengan dua kondisi atau lebih


•Untuk menampilkan data dari tabel dengan dua kondisi atau lebih dapat dipergunakan
operator logika :
–NOT, AND, OR, BETWEEN, LIKE, IN, SOME, ANY, ALL

Operator AND
•Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan hanya yang memenuhi semua kondisi

SELECT * FROM nama_tabel


WHERE kondisi1 AND kondisi2
•Contoh :

SELECT nama_karyawan, gaji, kode_divisi FROM karyawan


4
WHERE gaji > 2000000 AND kode_divisi = 'D0022'

•Menampilkan nama_karyawan, gaji, kode divisi untuk karyawan yang memiliki gaji
diatas 2000000 dan kode divisi = D0022

Operator OR
•Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan yang memenuhi salah satu kondisi

SELECT * FROM nama_tabel


WHERE kondisi1 OR kondisi2
•Contoh :

SELECT nama_karyawan, gaji, kode_divisi FROM karyawan


WHERE gaji > 2000000 OR kode_divisi = 'D0022'

•Record yang ditampilkan hanya record yang memenuhi salah satu kondisi.
•Coba anda bandingkan dengan operator AND

Operator BETWEEN
•Dipergunakan untuk menampilkan record yang berada dalam suatu batasan kondisi
tertentu

SELECT * FROM nama_tabel


WHERE field BETWEEN kondisi1 AND kondisi2
•Contoh :

SELECT nama_karyawan, gaji, kode_divisi FROM karyawan


WHERE gaji BETWEEN 2000000 AND 2600000

5
•Record yang ditampilkan adalah record karyawan yang memiliki gaji antara 2000000
sampai dengan 2600000

Operator IN
•Dipergunakan untuk menampilkan record yang berada dalam suatu kelompok kondisi
tertentu

SELECT * FROM nama_tabel


WHERE field IN (kondisi1, kondisi2,…..,kondisi_n)
•Contoh :

SELECT nama_karyawan, gaji, kode_divisi FROM karyawan


WHERE kode_divisi IN ('D0012', 'D0022')

•Contoh berikut akan menampilkan record karyawan yang memiliki kode_divisi D0012
atau D0022

Operator NOT
•Dipergunakan untuk menampilkan record yang tidak termasuk dalam suatu kondisi
tertentu

SELECT * FROM nama_tabel


WHERE NOT fieldkondisi
•Contoh :

SELECT nama_karyawan, gaji, kode_divisi FROM karyawan


WHERE NOT kode_divisi = 'D0012'

6
•Record yang ditampilkan adalah semua record yang tidak memiliki kode_divisi
‘D0012’

Operator LIKE
•Dipergunakan untuk menampilkan record yang memiliki bagian dari suatu kondisi
tertentu

SELECT * FROM nama_tabel


WHERE fieldLIKE kondisi
•Penggunaan operator LIKE bisa didukung oleh penggunaan karakter %

•Contoh penggunaan % :
•Ingin menampilkan record karyawan yang namanya memiliki bagian karakter ‘an’

•Contoh penggunaan % :
•Ingin menampilkan record karyawan yang namanya memiliki karakter terakhir ‘bul’

•Contoh pemakaian under score ( _ )


7
Menampilkan data dengan Alias
•Untuk mengganti label nama kolom pada tampilan SELECT dapat dipergunakan
perintah AS

SELECT field_1 AS ‘Field ke satu’, field_2 AS ‘Field ke dua’


FROM nama_tabel
•Contoh :

SELECT kode_pegawai AS NIP, nama_pegawai AS Nama


FROM karyawan
•Akan ditampilkan kode_karyawan, nama_karyawan dari seluruh karyawan, dimana
dalam tampilan, judul kolom akan diganti dengan nama alias.

Operator Aritmetika

•Didalam SQL terdapat beberapa operator aritmetika yang dapat dipergunakan untuk
berbagai macam kombinasi

* , dipergunakan untuk perkalian


/ , dipergunakan untuk pembagian
+, dipergunakan untuk penambahan
-, dipergunakan untuk pengurangan

•Contoh, anda ingin menghitung gaji yang diterima semua karyawan selama satu
tahun. Gaji_setahun = gaji * 12

8
•Contoh lain dari database Pubs.
•Ingin ditampilkan royalti yang diperoleh pengarang dari setiap buku dengan rumus
Price x (Royalty : 100)

•Menghitung gaji karyawan selama setahun, dan record yang ditampilkan adalah
record karyawan yang memiliki gaji setahun lebih besar sama dengan 24000000

Menampilkan fungsi Agregat


•Dalam penggunaan SQL Server, dapat dipergunakan beberapa fungsi agregat seperti
:
9
–SUM, AVG, COUNT, MIN, MAX
Fungsi SUM
•Dipergunakan untuk melakukan penjumlahan nilai record pada suatu field
•Hanya dapat dipergunakan pada field bertipe integer dan tidak dapat dipergunakan
untuk field bertipe string.

SELECT SUM(field) FROM nama_tabel


•Contoh :
•Menghitung berapa besar gaji yang harus dibayarkan perusahaan kepada karyawan
dalam satu bulan
•SUM(gaji) berarti akan menjumlahkan gaji semua karyawan

Fungsi AVG
•AVG(average) digunakan untuk mencari nilai rata-rata dari record dalam satu field.

SELECT AVG(field) FROM nama_tabel


•Contoh :
•Menghitung berapa nilai rata-rata dari gaji keseluruhan karyawan
•AVG(gaji) berarti akan menghitung nilai rata-rata dari gaji semua karyawan

Fungsi Count
•Dipergunakan untuk menghitung jumlah record yang ada dalam suatu tabel

SELECT COUNT(nama_field)
FROM nama_tabel
•Penggunaan COUNT seperti disamping, berarti menghitung jumlah total record dalam
tabel karyawan

10
Fungsi Min
•Dipergunakan untuk menampilkan nilai record terkecil yang ada dalam satu field
dalam sebuah tabel

SELECT MIN(nama_field)
FROM nama_tabel
•Contoh disamping menampilkan nilai gaji terkecil dari tabel karyawan.

Fungsi Max
•Dipergunakan untuk menampilkan nilai record terbesar yang ada dalam satu field
dalam sebuah tabel

SELECT MAX(nama_field)
FROM nama_tabel

Contoh menampilkan nilai gaji terbesar dari tabel karyawan.

Menampilkan data dengan DISTINCT


•Perintah Select Distinct dipergunakan untuk menampilkan data hanya sekali dari data
yang berulang dalam penampilannya.

SELECT DISTINCT nama_field


FROM nama_tabel
•Coba perhatikan gambar berikut ini, data yang berulang adalah kode_divisi

11
•Pada saat anda menggunakan Distinct pada kode_divisi, maka data yang ditampilkan
hanya masing-masing satu data untuk setiap data.

12