dosen : fajar y. zebua fajarzebua@gmail

37
1 Dosen : Fajar Y. Zebua [email protected]

Upload: dylan

Post on 27-Jan-2016

41 views

Category:

Documents


1 download

DESCRIPTION

Dosen : Fajar Y. Zebua [email protected]. Apakah SQL ?. SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan struktur tabel - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

1

Dosen : Fajar Y. Zebua

[email protected]

Page 2: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

2

Apakah SQL ?

• SQl singkatan dari Structured Query Language yang 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

• SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL server, Oracle, MySQL, Sybase,dll.

Page 3: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

3

SQL Data Definition Language

Berfungsi untuk membuat atau menghapus database dan mendefinisikan objek-objek (table, index, view, stored procedure, trigger) yang ada di dalam database.

Page 4: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

4

1. CREATE

• Digunakan untuk membuat database dan objek-objek di dalam database

Membuat database

Create Database Namadatabase

Contoh

Create Database Kepegawaian

Page 5: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

5

Mengaktifkan database yang telah dibuat

Use Namadatabase

Contoh

Use Kepegawaian

Membuat Table

Create Table NamaTable (Nama_field/kolom typedata (size), …)

Contoh

Create Table pegawai (NIP char (8) not null primary key, Nama varchar (25), Alamat varchar (50),telf varchar (15))

Page 6: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

6

2. DROP

• Digunakan untuk menghapus database dan objek-objek di dalam database

Menghapus database dan tabel

Drop Database Namadatabase

Contoh

Drop Database Kepegawaian

Drop Table Namatable

Contoh

Drop Table pegawai

Page 7: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

7

3. ALTER

• Berfungsi untuk memodifikasi tabel

- menambah kolom/field

- menghapus kolom/field

- membuat primary key atau foreign key

Page 8: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

8

Menambah Kolom/Field

Alter Table NamaTable add Namafield typedata (size)

Contoh

Alter Table Pegawai add status varchar (5)

Merubah Kolom/Field

Alter Table NamaTable Alter Column Namafield typedata (size)

Contoh

Alter Table Pegawai Alter Column status varchar (10)

Page 9: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

9

Menghapus Kolom/Field

Alter Table NamaTable drop Namafield

Contoh

Alter Table Pegawai drop status

Menambah Primary Key

Alter Table NamaTable add primary key (namafield)

Contoh

Alter Table departement add primary key (kd_depart)

Page 10: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

10

SQL Data Manipulation Language

Berfungsi untuk memanipulasi data (menampilkan, menambahkan, dan menghapus data)

Page 11: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

11

1. INSERTDigunakan untuk Menambah Data dalam satu record

Insert Into NamaTable (namafield1,namafield2,…)

Values (‘nilaifield1’,’nilaifield2’,…)

Contoh

Insert Into pegawai (nip,nama) values (’01’,’andika’)

Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabelInsert Into namatable values (‘nilaifield1’,’nilaifield2’,…)

Page 12: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

12

2. SELECT

Berfungsi untuk Menampilkan record data yang ada dalam table

Select * from namatabel

Contoh

Select * from pegawai(menampilkan data di semua field yang ada dalam table pegawai)

Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili semua atribut dalam satu tabel

Page 13: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

13

Select namafield,namafield from namatabel

Contoh

Select nip,alamat from pegawai

Menampilkan sebagian field beserta recordnya yang ada pada tabel

Select * from namatabel where namafield=‘nilaifield’

Contoh

Select * from pegawai where alamat=‘seutui’

Menampilkan baris record tertentu berdasarkan pilihan field yang diberikan

Page 14: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

14

Select distinct namafield from namatabel

Contoh

Select distinct alamat from pegawai

Menampilkan satu field beserta recordnya yang tidak akan berulang

Baris-baris pendua atau berulang (duplicate) tidak akan dipaparkan.

Sekiranya kita memilih lebih dari satu atribut ketika menggunakan

DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik

Page 15: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

15

Select distinct namafield1,namafield2 from namatabel

Contoh

Select distinct alamat,status from pegawai

Menampilkan beberapa field beserta recordnya yang sama tidak akan berulang

satu baris nip [03] tidak dipaparkan kerana berulang

Page 16: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

16

Select namafield ungkapan aritmatik from namatabel

Contoh

Select nama,gaji/2 from pegawai

Menggunakan Ungkapan Aritmatik dalam Pernyataan +, -, /, *

Page 17: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

17

• Kita boleh menamakan semula suatu atribut (walaupun telah mempunyai nama) dengan menggunakan AS

SELECT nama, gaji/2 AS gajisetengah FROM pegawai

Page 18: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

18

• Kita dapat membuat dan mengubah judul field yang akan di tampilkan

Select namafield As namafieldbaru from namatabel

Contoh

Select nama As namalengkap from pegawai

menampilkan nama dari tabel pegawai dimana field nama pada hasil SQL di ubah menjadi namalengkap

Page 19: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

19

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

Menggunakan Simbol perbandingan <, >, = untuk membuat pemilihan

Page 20: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

20

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’

Select * from pegawai where Not alamat=‘seutui’

Menggunakan operator Boolean Seperti And OR dan Not

Page 21: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

21

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

• Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan

Page 22: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

22

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

Kita boleh mengunakan pernyataan BETWEEN

Page 23: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

23

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

Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai

Page 24: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

24

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- Bekerja pada type data char, varchar, text

Page 25: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

25

Fungsi Agregat

fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output

SQL menyediakan 5 fungsi

AVG : Rata-rataMIN : MinimumMAX : MaksimumSUM : PenJumlahan isi recordCOUNT : menjumlahkan data

Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru from nama table

Page 26: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

26

• 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 berjenis int, bigint, decimal, bit, numeric, real, smallint, tinyint.

Page 27: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

27

a) SUM Penjumlahan dalam satu kolom

Select sum (tunjangan) As jlh_tunj from pegawai

Menampilkan jumlah keseluruhan dari tunjangan yang diberikan

Page 28: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

28

b) Avg menghitung nilai rata-rata dalam satu kolom

Select Avg (gaji) As rata_gaji from pegawai

Page 29: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

29

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’

(Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)

Page 30: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

30

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’

(Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)

Page 31: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

31

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’

(Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah menikah)

Page 32: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

32

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

Laki-Laki 5

Perempuan 4

Page 33: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

Pengurutan (Order by)• Hasil dari query dapat di urutkan

berdasarkan pada satu atau lebih kolom.

33

Select namafield1 from namatabel where kriteriaorder 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

2008 Ana

2009 Devi

2010 July

2011 Kiki

Page 34: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

34

Select namafield1,… from namatabel Group by field pengacuHaving kondisi

Contoh

Select barang, count (jumlah) As totalfaktur from Torder Group by idbarang having idbarang=‘A009’

Pernyataan Having

-menampilkan kelompok-kelompok data tertentu-having berbeda dengan where, pernyataan where digunakan untuk memberikan criteria sebelum pengelompokan dan melakukan penyaringan baris. Sedangkan having digunakan untuk memberikan criteria setelah pengelompokan dilakukan, menyaring kelompok, dan menentukan kondisi bagi Group By

Page 35: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

35

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

Update pegawai set alamat=‘pango’ where nip=’01’

Page 36: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

36

Menukar record dalam Tabel

Update namatabel set namafield=nilai

Contoh

Update pegawai set gaji=gaji+12000

pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam tabel pegawai

Page 37: Dosen  :  Fajar  Y.  Zebua fajarzebua@gmail

37

4. DELETE

Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel.

Delete from namatabel where kondisi

Contoh

Delete from pegawai where nip=’01’