SlideShare a Scribd company logo
1 of 52
Pengertian Query
 Query adalah perintah-perintah untuk mengakses
data pada sistem basis data
SQL (1)
 SQL adalah bahasa query baku untuk DBMS
 SQL diambil sebagai bakuan sejak tahun 1992
 Awalnya diterapkan pada DBMS besar seperti
Oracle dan Informix, sekarang juga pada DBMS
berbasis PC seperti dBASE dan FoxPro.
 SQL bersifat sebagai bahasa tingkat tinggi (high
level). Pemakai hanya menyebutkan hasil yang
diinginkan dan optimasi pelaksanaan query
dilakukan oleh DBMS.
SQL (2)
 Bahasa SQL terbagi dalam dua bagian besar, yaitu:
DDL (Data Definition Language) dan DML (Data
Manipulation Language)
 DDL mendefinisikan struktur basis data, seperti
pembuatan basis data, pembuatan tabel dsbnya.
Contoh: CREATE DATABASE dan CREATE TABLE.
 DML merupakan bagian untuk memanipulasi
basis data seperti: pengaksesan data,
penghapusan, penambahan dan pengubahan data.
DML juga dapat digunakan untuk melakukan
komputasi data. Contoh: INSERT, DELETE, dan
UPDATE.
SQL(3)
 SQL adalah didasarkan pada himpunan operasi-
operasi relasional yang telah dilakukan modifikasi dan
perbaikan.
 Struktur dasar SQL terdiri dari tiga klausa, yaitu
SELECT, FROM, dan WHERE :
SQL(4)
 SELECT berkorespondensi dengan operasi Projection
pada relasional aljabar. SELECT digunakan untuk
menampilkan list atribut pada hasil query.
 FROM berkorespondensi dengan operasi Cartesian
product pada relasional aljabar. FROM digunakan
sebagai list suatu relasi (tabel) yang akan di proses dan
di evaluasi..
SQL(5)
 WHERE berkorespondensi dengan operasi Selection
pada relasional aljabar. WHERE terdiri dari predikat
yang meliputi atribut dalam relasi yang muncul pada
klausa FROM
SQL(6)
Tabel SUPPLIER Tabel PARTS
SQL(7) Tabel SHIPMENT
SQL(7) : SELECT
SELECT CITY
FROM PARTS
SQL(8):SELECT
SELECT DISTINCT CITY
FROM PARTS
SQL(9):WHERE
 Klausa WHERE digunakan untuk menentuka
predikat atau kriteria yang harus di penuhi suatu
relasi sebagai hasil query.
 Klausa ini bersifat opsional, yaitu dapat
menggunakan klausa WHERE atau tidak.
 Jika tidak menggunakan klausa WHERE, maka
query dilakukan untuk semua tuples pada tabel
yang disebutkan pada klausa FROM.
SQL(9):WHERE
SELECT *
FROM SUPPLIER
WHERE STATUS = 20
SQL(10):WHERE
SELECT *
FROM SUPPLIER
WHERE CITY = ‘Semarang’
SQL(11):WHERE
Predikat pada klausa WHERE dapat
dikombinasikan dengan operator relasi lainnya,
seperti <, <=, >, >=, <>, dan operator logika,
seperti AND, OR, NOT
SELECT *
FROM SUPPLIER
WHERE STATUS = 30 AND CITY = ‘Yogyakarta’
SQL(12):WHERE
Klausa WHERE dapat digunakan untuk
melakukan query dengan predikat yang berbentuk
suatu range nilai tertentu, yaitu dengan
menambahkan klausa BETWEEN.
SELECT *
FROM SUPPLIER
WHERE STATUS BETWEEN 20 AND 30
SQL(13):WHERE
 Untuk atribut yang bertipe string dapat dilakukan
suatu pencarian dengan pola tertentu, yaitu dengan
memanfaatkan karakter ‘%’ atau ‘_’ (underscore) dan
menambahkan klausa LIKE pada klausa WHERE :
 ‘%’ untuk semua substring
 ‘_’ untuk semua karakter pada posisi yang sesuai.
SQL(14):WHERE
SELECT *
FROM SUPPLIER
WHERE STATUS LIKE ‘S%’
SQL(15):WHERE
SELECT *
FROM SUPPLIER
WHERE STATUS LIKE ‘_o%’
FROM(1)
 Klausa FROM digunakan untuk menentukan tabel
yang akan dijadikan sebagai sumber untuk pencarian
data.
 Dalam melakukan query tidak hanya terbatas pada
satu tabel, tetapi sering kali dibutuhkan untuk
merelasikan beberapa tabel sekaligus.
FROM(2)
 Menampilkan semua SUPPLIER yang melakukan
SHIPMENT dengan jumlah kuantitasnya > 300
SELECT *
FROM SUPPLIER, SHIPMENT
WHERE SUPPLIER.SCODE=SHIPMENT.SCODE
AND SHIPMENT.QTY > 300
FROM(3)
SELECT SU.SNAME
FROM SUPPLIER SU, SHIPMENT SH
WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300
FROM(4)
SELECT SU.SNAME AS NAMA_SUPPLIER
FROM SUPPLIER SU, SHIPMENT SH
WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300
Pengurutan Hasil Query(1)
 Untuk menampilkan hasil query berdasarkan
urutan atribut tertentu, maka dapat dilakukan
dengan menambahkan klausa ORDER BY.
 Default yang diberikan klausa ORDER BY adalah
urutan secara menaik (ASC), tetapi untuk
merubah menjadi urutan secara menurun, dapat
dilakukan dengan menambahkan klausa DESC
setelah nama atribut.
Pengurutan Hasil Query(2)
SELECT *
FROM SUPPLIER
ORDER BY STATUS DESC
Pengurutan Hasil Query(3)
SELECT SNAME
FROM SUPPLIER
WHERE STATUS = 30
ORDER BY SNAME DESC
Fungsi Agregasi(1)
 Dalam melakukan suatu query, terkadang dibutuhkan
untuk melakukan perhitungan jumlah tuples, total
nilai suatu atribut, nilai atribut terbesar atau terkecil,
dan menentukan nilai rata-rata suatu atribut.
 Untuk memenuhi kondisi-kondisi di atas, SQL sebagai
bahasa query menyediakan fungsi-fungsi agregasi.
Fungsi Agregasi(2)
 AVG
Untuk memperoleh nilai rata-rata suatu atribut yang
bertipe numerik.
 MIN
Untuk memperoleh nilai terkecil suatu atribut yang
bertipe numerik.
 MAX
Untuk memperoleh nilai terbesar suatu atribut yang
bertipe numerik.
 SUM
Untuk memperoleh nilai total suatu atribut yang bertipe
numerik.
 COUNT
Untuk memperoleh nilai banyaknya tuples.
Fungsi Agregasi(3)
 Menghitung banyaknya tuples pada tabel SHIPMENT
 Perintah SQL-nya adalah :
SELECT COUNT(*)
FROM SHIPMENT
Fungsi Agregasi(4)
 Menampilkan total berat (WEIGHT) untuk semua
PARTS
 Perintah SQL-nya adalah :
SELECT SUM(WEIGHT)
FROM PARTS
Fungsi Agregasi(5)
 Menghitung rata-rata kuantitas (QTY) untuk semua
SHIPMENT
 Perintah SQL-nya adalah :
SELECT AVG(QTY)
FROM SHIPMENT
Fungsi Agregasi(6)
 Menentukan nilai STATUS yang terbesar untuk
SUPPLIER
 Perintah SQL-nya adalah :
SELECT MAX(STATUS)
FROM SUPPLIER
Fungsi Agregasi(7)
 Menentukan nilai kuantitas (QTY) yang terkecil untuk
SHIPMENT
 Perintah SQL-nya adalah :
SELECT MIN(QTY)
FROM SHIPMENT
Fungsi Agregasi(8)
 Fungsi agregasi dapat juga dikombinasikan dengan
klausa GROUP BY, untuk menyatakan pengelompokan
tuple hasil query.
Fungsi Agregasi(9)
 Menampilkan banyaknya tuple dan kuantitas (QTY)
untuk SHIPMENT yang dikelompokan berdasarkan
PARTS (PCODE) dengan urutan secara menaik:
SELECT PCODE, COUNT(*),
SUM(QTY)
FROM SHIPMENT
GROUP BY PCODE
ORDER BY PCODE
Fungsi Agregasi(10)
Nilai NULL (1)
 Nilai NULL pada suatu query dapat diperlakukan
secara khusus, yaitu dapat juga diperlakukan
untuk query menggunakan ekspresi SQL.
 Misalkan, menampilkan atribut CITY dari tabel
SUPPLIER yang masih kosong :
SELECT DISTINCT SCODE
FROM SUPPLIER
WHERE CITY is NULL
Nilai NULL (2)
SELECT COUNT(*)
FROM SUPPLIER
WHERE STATUS is NOT NULL
Manipulasi Data (DML)
 Operasi-operasi manipulasi data terdiri dari
penambahan tuple baru, pengubahan nilai atribut,
dan penghapusan tuple pada suatu tabel.
 SQL juga dilengkapi dengan sejumlah ekspresi dan
perintah untuk melakukan manipulasi data.
Penambahan Tuple (1)
INSERT INTO  
 
n
A
A
A
t ,...,
, 2
1
VALUES  
n
V
V
V ,...,
, 2
1
Misalkan, untuk menambahkan tuple pada tabel
SUPPLIER
Perintah SQL-nya adalah :
INSERT INTO SUPPLIER
VALUES ('S6','YOSHINTA',20,'Semarang')
Penambahan Tuple (2)
Penambahan Tuple (3)
 Untuk nama atribut yang tidak disebutkan pada
perintah INSERT, atribut-atribut tersebut akan di isi
dengan nilai NULL
INSERT INTO SUPPLIER (SCODE,SNAME,STATUS)
VALUES ('S7','MIRANTHI',20)
Penambahan Tuple (4)
Pengubahan Tuple(5)
Update t
Set assignment
[Where P]
UPDATE SUPPLIER
SET CITY = 'Purwodadi'
WHERE SCODE = ‘S6’
Pengubahan Tuple(6)
Penghapusan Tuple(1)
Delete From T
[Where P]
Misalkan, untuk menghapus SUPPLIER dengan nama
YOSHINTA :
Perintah SQL-nya adalah :
DELETE FROM SUPPLIER
WHERE SNAME = ‘YOSHINTA’
DDL (1)
 Perintah SQL untuk definisi data:
 CREATE untuk membentuk basis data, table atau index
 ALTER untuk mengubah struktur table
 DROP untuk menghapus basis data, table atau index
 CREATE DATABASE
 Untuk membentuk basis data
 Sintaks: CREATE DATABASE nama_database
 Contoh: CREATE DATABASE COMPANY
 CREATE TABLE
 Untuk membentuk table dari basis data
 Untuk menyebutkan spesifikasi dan batasan atribut
DDL(2)
 Untuk domain tipe data meliputi sebagai berikut :
 char(n)
Tipe string dengan panjang tetap sebesar n karakter (jika panjang karakter
yang diisikan kurang dari n, maka sisanya di isi dengan spasi)
 varchar(n)
Tipe string dengan panjang fleksibel, tetapi maksimal sebanyak n karakter.
 int atau integer
Tipe integer 2 byte.
 Smallint
Tipe integer 1 byte.
 real, double, precision
Tipe pecahan decimal floating point.
 float(n)
Tipe pecahan decimal floating point dengan presisi n digit.
 date
Tipe tanggal (terdiri 4 digit tahun, bulan, dan tanggal).
 time
Tipe waktu (terdiri dari jam, menit, dan detik)
DDL(3)
 Misalkan, untuk membuat tabel SUPPLIER :
 Perintah SQL-nya adalah :
CREATE TABLE SUPPLIER
( SCODE char(3),
SNAME varchar(20),
STATUS int,
CITY varchar (15))
DDL(4)
CREATE TABLE SUPPLIER
( SCODE char(3) NOT NULL,
SNAME varchar(20),
STATUS int,
CITY varchar (15),
PRIMARY KEY (SCODE))
DDL(5)
 Jika suatu tabel memiliki indek secara komposit
(gabungan), maka dilakukan dengan cara menuliskan
semua atribut pada kalusa PRIMARY KEY
CREATE TABLE SUPPLIER
( SCODE char(3) NOT NULL,
SNAME varchar(20) NOT NULL,
STATUS int,
CITY varchar (15),
PRIMARY KEY (SCODE,SNAME))
DDL(6)
 Keberadaan tabel yang telah dibuat dapat dibatalkan
atau di hapus dengan menggunakan perintah SQL :
DROP TABLE t
DROP TABLE SUPPLIER

More Related Content

Similar to file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt

Dasar_Dasar_Perintah_SQL.ppt
Dasar_Dasar_Perintah_SQL.pptDasar_Dasar_Perintah_SQL.ppt
Dasar_Dasar_Perintah_SQL.pptmusahari1
 
matrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.pptmatrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.ppterlandarmawan2
 
mengenal fungsi-fungsi diSQL Server
mengenal fungsi-fungsi diSQL Servermengenal fungsi-fungsi diSQL Server
mengenal fungsi-fungsi diSQL Serversyahrul ramadan
 
Praktikum basis data 2
Praktikum basis data 2Praktikum basis data 2
Praktikum basis data 2AuliyaRahman9
 
Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)Devi Apriansyah
 
Pertemuan tentang DDL DML dan praktikum system basis data MYSQL
Pertemuan tentang DDL DML dan praktikum system basis data MYSQLPertemuan tentang DDL DML dan praktikum system basis data MYSQL
Pertemuan tentang DDL DML dan praktikum system basis data MYSQLdezavalorant123
 
Modul my sql tutorial part 5
Modul my sql tutorial part 5Modul my sql tutorial part 5
Modul my sql tutorial part 5Ratzman III
 
Structure query language
Structure query languageStructure query language
Structure query languageRicky Vb
 
7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQLSimon Patabang
 
Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus Purnama
 

Similar to file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt (20)

Dasar_Dasar_Perintah_SQL.ppt
Dasar_Dasar_Perintah_SQL.pptDasar_Dasar_Perintah_SQL.ppt
Dasar_Dasar_Perintah_SQL.ppt
 
Pertemuan11
Pertemuan11Pertemuan11
Pertemuan11
 
Mysql
MysqlMysql
Mysql
 
Bab. 4
Bab. 4Bab. 4
Bab. 4
 
matrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.pptmatrei perkuliahana tentang SQL Overview.ppt
matrei perkuliahana tentang SQL Overview.ppt
 
SQL.pdf
SQL.pdfSQL.pdf
SQL.pdf
 
mengenal fungsi-fungsi diSQL Server
mengenal fungsi-fungsi diSQL Servermengenal fungsi-fungsi diSQL Server
mengenal fungsi-fungsi diSQL Server
 
Praktikum basis data 2
Praktikum basis data 2Praktikum basis data 2
Praktikum basis data 2
 
Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)Laporan praktikum modul 8 (dml part 2)
Laporan praktikum modul 8 (dml part 2)
 
Pertemuan tentang DDL DML dan praktikum system basis data MYSQL
Pertemuan tentang DDL DML dan praktikum system basis data MYSQLPertemuan tentang DDL DML dan praktikum system basis data MYSQL
Pertemuan tentang DDL DML dan praktikum system basis data MYSQL
 
Bab. 8
Bab. 8Bab. 8
Bab. 8
 
Modul my sql tutorial part 5
Modul my sql tutorial part 5Modul my sql tutorial part 5
Modul my sql tutorial part 5
 
Structure query language
Structure query languageStructure query language
Structure query language
 
7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL7 Materi Kuliah Bahasa SQL
7 Materi Kuliah Bahasa SQL
 
Sql session 1
Sql session 1Sql session 1
Sql session 1
 
Basisdata sql
Basisdata   sqlBasisdata   sql
Basisdata sql
 
DDL dan DML
DDL dan DMLDDL dan DML
DDL dan DML
 
DML
DMLDML
DML
 
Agus purnama (c1357201102)
Agus purnama (c1357201102)Agus purnama (c1357201102)
Agus purnama (c1357201102)
 
Basis data 2
Basis data 2Basis data 2
Basis data 2
 

More from lumaeducation

RCR 4 Data Management Introduction System Information
RCR 4 Data Management Introduction System InformationRCR 4 Data Management Introduction System Information
RCR 4 Data Management Introduction System Informationlumaeducation
 
Purple Pink Aesthetic Group Project Presentation template
Purple Pink Aesthetic Group Project Presentation  templatePurple Pink Aesthetic Group Project Presentation  template
Purple Pink Aesthetic Group Project Presentation templatelumaeducation
 
BELAJAR_TOOLS_KINEMASTER (1).pptx
BELAJAR_TOOLS_KINEMASTER (1).pptxBELAJAR_TOOLS_KINEMASTER (1).pptx
BELAJAR_TOOLS_KINEMASTER (1).pptxlumaeducation
 
pertemuan 1 system dev
pertemuan 1 system devpertemuan 1 system dev
pertemuan 1 system devlumaeducation
 

More from lumaeducation (8)

RCR 4 Data Management Introduction System Information
RCR 4 Data Management Introduction System InformationRCR 4 Data Management Introduction System Information
RCR 4 Data Management Introduction System Information
 
Purple Pink Aesthetic Group Project Presentation template
Purple Pink Aesthetic Group Project Presentation  templatePurple Pink Aesthetic Group Project Presentation  template
Purple Pink Aesthetic Group Project Presentation template
 
aplikasi.pptx
aplikasi.pptxaplikasi.pptx
aplikasi.pptx
 
intro.ppt
intro.pptintro.ppt
intro.ppt
 
BELAJAR_TOOLS_KINEMASTER (1).pptx
BELAJAR_TOOLS_KINEMASTER (1).pptxBELAJAR_TOOLS_KINEMASTER (1).pptx
BELAJAR_TOOLS_KINEMASTER (1).pptx
 
database.pptx
database.pptxdatabase.pptx
database.pptx
 
pertemuan 1 system dev
pertemuan 1 system devpertemuan 1 system dev
pertemuan 1 system dev
 
pertemuan 1.ppt
pertemuan 1.pptpertemuan 1.ppt
pertemuan 1.ppt
 

Recently uploaded

Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxImahMagwa
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxmariaboisala21
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxrikosyahputra0173
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfAuliaAulia63
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxzidanlbs25
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiCristianoRonaldo185977
 

Recently uploaded (7)

Menggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptxMenggunakan Data matematika kelas 7.pptx
Menggunakan Data matematika kelas 7.pptx
 
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptxMARIA NOVILIA BOISALA FASILITATOR PMM.pptx
MARIA NOVILIA BOISALA FASILITATOR PMM.pptx
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptxMATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
MATERI SESI 2 KONSEP ETIKA KOMUNIKASI.pptx
 
Geologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdfGeologi Jawa Timur-Madura Kelompok 6.pdf
Geologi Jawa Timur-Madura Kelompok 6.pdf
 
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptxUKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
UKURAN PENTYEBARAN DATA PPT KELOMPOK 2.pptx
 
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet RiyadiManajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
Manajemen Lalu Lintas Baru Di Jalan Selamet Riyadi
 

file_2013-09-24_11_21_37_WIBOWO_WICAKSONO,_ST.,M.Kom__5._SQL2.ppt

  • 1.
  • 2. Pengertian Query  Query adalah perintah-perintah untuk mengakses data pada sistem basis data
  • 3. SQL (1)  SQL adalah bahasa query baku untuk DBMS  SQL diambil sebagai bakuan sejak tahun 1992  Awalnya diterapkan pada DBMS besar seperti Oracle dan Informix, sekarang juga pada DBMS berbasis PC seperti dBASE dan FoxPro.  SQL bersifat sebagai bahasa tingkat tinggi (high level). Pemakai hanya menyebutkan hasil yang diinginkan dan optimasi pelaksanaan query dilakukan oleh DBMS.
  • 4. SQL (2)  Bahasa SQL terbagi dalam dua bagian besar, yaitu: DDL (Data Definition Language) dan DML (Data Manipulation Language)  DDL mendefinisikan struktur basis data, seperti pembuatan basis data, pembuatan tabel dsbnya. Contoh: CREATE DATABASE dan CREATE TABLE.  DML merupakan bagian untuk memanipulasi basis data seperti: pengaksesan data, penghapusan, penambahan dan pengubahan data. DML juga dapat digunakan untuk melakukan komputasi data. Contoh: INSERT, DELETE, dan UPDATE.
  • 5. SQL(3)  SQL adalah didasarkan pada himpunan operasi- operasi relasional yang telah dilakukan modifikasi dan perbaikan.  Struktur dasar SQL terdiri dari tiga klausa, yaitu SELECT, FROM, dan WHERE :
  • 6. SQL(4)  SELECT berkorespondensi dengan operasi Projection pada relasional aljabar. SELECT digunakan untuk menampilkan list atribut pada hasil query.  FROM berkorespondensi dengan operasi Cartesian product pada relasional aljabar. FROM digunakan sebagai list suatu relasi (tabel) yang akan di proses dan di evaluasi..
  • 7. SQL(5)  WHERE berkorespondensi dengan operasi Selection pada relasional aljabar. WHERE terdiri dari predikat yang meliputi atribut dalam relasi yang muncul pada klausa FROM
  • 10. SQL(7) : SELECT SELECT CITY FROM PARTS
  • 12. SQL(9):WHERE  Klausa WHERE digunakan untuk menentuka predikat atau kriteria yang harus di penuhi suatu relasi sebagai hasil query.  Klausa ini bersifat opsional, yaitu dapat menggunakan klausa WHERE atau tidak.  Jika tidak menggunakan klausa WHERE, maka query dilakukan untuk semua tuples pada tabel yang disebutkan pada klausa FROM.
  • 15. SQL(11):WHERE Predikat pada klausa WHERE dapat dikombinasikan dengan operator relasi lainnya, seperti <, <=, >, >=, <>, dan operator logika, seperti AND, OR, NOT SELECT * FROM SUPPLIER WHERE STATUS = 30 AND CITY = ‘Yogyakarta’
  • 16. SQL(12):WHERE Klausa WHERE dapat digunakan untuk melakukan query dengan predikat yang berbentuk suatu range nilai tertentu, yaitu dengan menambahkan klausa BETWEEN. SELECT * FROM SUPPLIER WHERE STATUS BETWEEN 20 AND 30
  • 17. SQL(13):WHERE  Untuk atribut yang bertipe string dapat dilakukan suatu pencarian dengan pola tertentu, yaitu dengan memanfaatkan karakter ‘%’ atau ‘_’ (underscore) dan menambahkan klausa LIKE pada klausa WHERE :  ‘%’ untuk semua substring  ‘_’ untuk semua karakter pada posisi yang sesuai.
  • 20. FROM(1)  Klausa FROM digunakan untuk menentukan tabel yang akan dijadikan sebagai sumber untuk pencarian data.  Dalam melakukan query tidak hanya terbatas pada satu tabel, tetapi sering kali dibutuhkan untuk merelasikan beberapa tabel sekaligus.
  • 21. FROM(2)  Menampilkan semua SUPPLIER yang melakukan SHIPMENT dengan jumlah kuantitasnya > 300 SELECT * FROM SUPPLIER, SHIPMENT WHERE SUPPLIER.SCODE=SHIPMENT.SCODE AND SHIPMENT.QTY > 300
  • 22. FROM(3) SELECT SU.SNAME FROM SUPPLIER SU, SHIPMENT SH WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300
  • 23. FROM(4) SELECT SU.SNAME AS NAMA_SUPPLIER FROM SUPPLIER SU, SHIPMENT SH WHERE SU.SCODE=SH.SCODE AND SH.QTY > 300
  • 24. Pengurutan Hasil Query(1)  Untuk menampilkan hasil query berdasarkan urutan atribut tertentu, maka dapat dilakukan dengan menambahkan klausa ORDER BY.  Default yang diberikan klausa ORDER BY adalah urutan secara menaik (ASC), tetapi untuk merubah menjadi urutan secara menurun, dapat dilakukan dengan menambahkan klausa DESC setelah nama atribut.
  • 25. Pengurutan Hasil Query(2) SELECT * FROM SUPPLIER ORDER BY STATUS DESC
  • 26. Pengurutan Hasil Query(3) SELECT SNAME FROM SUPPLIER WHERE STATUS = 30 ORDER BY SNAME DESC
  • 27. Fungsi Agregasi(1)  Dalam melakukan suatu query, terkadang dibutuhkan untuk melakukan perhitungan jumlah tuples, total nilai suatu atribut, nilai atribut terbesar atau terkecil, dan menentukan nilai rata-rata suatu atribut.  Untuk memenuhi kondisi-kondisi di atas, SQL sebagai bahasa query menyediakan fungsi-fungsi agregasi.
  • 28. Fungsi Agregasi(2)  AVG Untuk memperoleh nilai rata-rata suatu atribut yang bertipe numerik.  MIN Untuk memperoleh nilai terkecil suatu atribut yang bertipe numerik.  MAX Untuk memperoleh nilai terbesar suatu atribut yang bertipe numerik.  SUM Untuk memperoleh nilai total suatu atribut yang bertipe numerik.  COUNT Untuk memperoleh nilai banyaknya tuples.
  • 29. Fungsi Agregasi(3)  Menghitung banyaknya tuples pada tabel SHIPMENT  Perintah SQL-nya adalah : SELECT COUNT(*) FROM SHIPMENT
  • 30. Fungsi Agregasi(4)  Menampilkan total berat (WEIGHT) untuk semua PARTS  Perintah SQL-nya adalah : SELECT SUM(WEIGHT) FROM PARTS
  • 31. Fungsi Agregasi(5)  Menghitung rata-rata kuantitas (QTY) untuk semua SHIPMENT  Perintah SQL-nya adalah : SELECT AVG(QTY) FROM SHIPMENT
  • 32. Fungsi Agregasi(6)  Menentukan nilai STATUS yang terbesar untuk SUPPLIER  Perintah SQL-nya adalah : SELECT MAX(STATUS) FROM SUPPLIER
  • 33. Fungsi Agregasi(7)  Menentukan nilai kuantitas (QTY) yang terkecil untuk SHIPMENT  Perintah SQL-nya adalah : SELECT MIN(QTY) FROM SHIPMENT
  • 34. Fungsi Agregasi(8)  Fungsi agregasi dapat juga dikombinasikan dengan klausa GROUP BY, untuk menyatakan pengelompokan tuple hasil query.
  • 35. Fungsi Agregasi(9)  Menampilkan banyaknya tuple dan kuantitas (QTY) untuk SHIPMENT yang dikelompokan berdasarkan PARTS (PCODE) dengan urutan secara menaik: SELECT PCODE, COUNT(*), SUM(QTY) FROM SHIPMENT GROUP BY PCODE ORDER BY PCODE
  • 37. Nilai NULL (1)  Nilai NULL pada suatu query dapat diperlakukan secara khusus, yaitu dapat juga diperlakukan untuk query menggunakan ekspresi SQL.  Misalkan, menampilkan atribut CITY dari tabel SUPPLIER yang masih kosong : SELECT DISTINCT SCODE FROM SUPPLIER WHERE CITY is NULL
  • 38. Nilai NULL (2) SELECT COUNT(*) FROM SUPPLIER WHERE STATUS is NOT NULL
  • 39. Manipulasi Data (DML)  Operasi-operasi manipulasi data terdiri dari penambahan tuple baru, pengubahan nilai atribut, dan penghapusan tuple pada suatu tabel.  SQL juga dilengkapi dengan sejumlah ekspresi dan perintah untuk melakukan manipulasi data.
  • 40. Penambahan Tuple (1) INSERT INTO     n A A A t ,..., , 2 1 VALUES   n V V V ,..., , 2 1 Misalkan, untuk menambahkan tuple pada tabel SUPPLIER Perintah SQL-nya adalah : INSERT INTO SUPPLIER VALUES ('S6','YOSHINTA',20,'Semarang')
  • 42. Penambahan Tuple (3)  Untuk nama atribut yang tidak disebutkan pada perintah INSERT, atribut-atribut tersebut akan di isi dengan nilai NULL INSERT INTO SUPPLIER (SCODE,SNAME,STATUS) VALUES ('S7','MIRANTHI',20)
  • 44. Pengubahan Tuple(5) Update t Set assignment [Where P] UPDATE SUPPLIER SET CITY = 'Purwodadi' WHERE SCODE = ‘S6’
  • 46. Penghapusan Tuple(1) Delete From T [Where P] Misalkan, untuk menghapus SUPPLIER dengan nama YOSHINTA : Perintah SQL-nya adalah : DELETE FROM SUPPLIER WHERE SNAME = ‘YOSHINTA’
  • 47. DDL (1)  Perintah SQL untuk definisi data:  CREATE untuk membentuk basis data, table atau index  ALTER untuk mengubah struktur table  DROP untuk menghapus basis data, table atau index  CREATE DATABASE  Untuk membentuk basis data  Sintaks: CREATE DATABASE nama_database  Contoh: CREATE DATABASE COMPANY  CREATE TABLE  Untuk membentuk table dari basis data  Untuk menyebutkan spesifikasi dan batasan atribut
  • 48. DDL(2)  Untuk domain tipe data meliputi sebagai berikut :  char(n) Tipe string dengan panjang tetap sebesar n karakter (jika panjang karakter yang diisikan kurang dari n, maka sisanya di isi dengan spasi)  varchar(n) Tipe string dengan panjang fleksibel, tetapi maksimal sebanyak n karakter.  int atau integer Tipe integer 2 byte.  Smallint Tipe integer 1 byte.  real, double, precision Tipe pecahan decimal floating point.  float(n) Tipe pecahan decimal floating point dengan presisi n digit.  date Tipe tanggal (terdiri 4 digit tahun, bulan, dan tanggal).  time Tipe waktu (terdiri dari jam, menit, dan detik)
  • 49. DDL(3)  Misalkan, untuk membuat tabel SUPPLIER :  Perintah SQL-nya adalah : CREATE TABLE SUPPLIER ( SCODE char(3), SNAME varchar(20), STATUS int, CITY varchar (15))
  • 50. DDL(4) CREATE TABLE SUPPLIER ( SCODE char(3) NOT NULL, SNAME varchar(20), STATUS int, CITY varchar (15), PRIMARY KEY (SCODE))
  • 51. DDL(5)  Jika suatu tabel memiliki indek secara komposit (gabungan), maka dilakukan dengan cara menuliskan semua atribut pada kalusa PRIMARY KEY CREATE TABLE SUPPLIER ( SCODE char(3) NOT NULL, SNAME varchar(20) NOT NULL, STATUS int, CITY varchar (15), PRIMARY KEY (SCODE,SNAME))
  • 52. DDL(6)  Keberadaan tabel yang telah dibuat dapat dibatalkan atau di hapus dengan menggunakan perintah SQL : DROP TABLE t DROP TABLE SUPPLIER