bab iv - sql.ppt
DESCRIPTION
cb fcbnfcgngfTRANSCRIPT
![Page 1: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/1.jpg)
MATERI 4:STRUKTUR QUERY LANGUAGE
(SQL)
OLEH:
NOVI YANTI, ST, M.KOM
FAKULTAS SAINS DAN TEKNOLOGI
UIN SUSKA RIAU
![Page 2: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/2.jpg)
PENDAHULUAN
SQL merupakan bahasa basis data relasional standar. Terdapat macam-macam
versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose
Research Laboratory.
![Page 3: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/3.jpg)
BAHASA SQL
• Data Definition Language (DDL)DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat indeks dan modifikasi skema relasi.
• Data-Manipulation Language (DML)DML merupakan bahasa Query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.
![Page 4: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/4.jpg)
STRUKTUR DASAR SQL
1. KLAUSA SELECT
berhubungan dengan operasi proyeksi dari aljabar relasional. Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu Query.
![Page 5: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/5.jpg)
Contoh :
NIM# Nama_Mhs Alamat Tmp_Lahir Tgl_Lahir J_Kelamin
1830 Dewi Jl. Garuda Pekanbaru 20/Des/1983 Perempuan
1845 Made Jl. Mutiara Denpasar 28/Okt/1982 Laki-laki
1870 Rina Jl. Gagak Pekanbaru 27/Sep/1981 Perempuan
1890 Rudi Jl. Beringin Pekanbaru 01/Okt/1980 Laki-laki
Mahasiswa
1. Menampilkan NIM & Nama_Mhs dari tabel MahasiswaSelect NIM, Nama_MhsFrom Mahasiswa
2. Menampilkan semua data dari tabel MahasiswaSelect *From Mahasiswa
3. Menampilkan Nama_Mhs dari tabel MahasiswaSelect Nama_MhsFrom Mahasiswa
![Page 6: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/6.jpg)
Misalkan ada banyak mahasiswa dengan nama yang sama, maka hanya ada satu yang tampil, perintahnya adalah :
Select distinct Nama_MhsFrom Mahasiswa
Merubah atribut Nama_Mhs menjadi Nama_MahasiswaSelect NIM, Nama_Mhs as Nama_MahasiswaFrom Mahasiswa
![Page 7: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/7.jpg)
2. KLAUSA WHERE
berhubungan dengan operasi Cartesian-product dari aljabar relasional. Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu Query.
NIM# Nama_Mhs J_Kelamin Tmp_Lahir
1830 Dewi Perempuan Pekanbaru
1845 Made Laki-laki Denpasar
1870 Rina Perempuan Pekanbaru
1890 Rudi Laki-laki Pekanbaru
Mahasiswa
![Page 8: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/8.jpg)
Menampilkan NIM & Nama Mahasiswa berdasarkan tempat lahir = ’Pekanbaru’
Select NIM, Nama_MhsFrom MahasiswaWhere Tmp_Lahir=’Pekanbaru’
Output :
NIM Nama_Mhs
1830 Dewi
1870 Rina
1890 Rudi
Mahasiswa
![Page 9: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/9.jpg)
Klausa where dapat dikombinasikan dengan operator :
1. <, >, =, <>, <=, >=, AND, OR, NOT, |=2. Between (diantara)3. Like berdasarkan pola : % dan _ (underline)
![Page 10: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/10.jpg)
Contoh
NIM Kode_Matkul Nilai
1830 TIF-001 70
1845 TIF-002 80
1870 TIF-001 50
Nilai
Tampilkan NIM, Kode_Matkul as Kode dai nilai 65 ≤ nilai ≤ 80Select NIM, Kode_Matkul as KodeFrom NilaiWhere Nilai between 65 and 80
Output :
NIM Kode
1830 TIF-001
1845 TIF-002
Nilai
![Page 11: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/11.jpg)
Tampilkan Nama_Mhs yang diawali dengan huruf ‘R’Select Nama_MhsFrom NahasiswaWhere Nama_Mhs like ‘R%’
Output :Mahasiswa
Nama_Mhs
Rina
Rudi
Menampilkan nama mahasiswa yang huruf keduanya adalah ‘a’
Select Nama_MhsFrom MahasiswaWhere Nama_Mhs Like ‘_a%’
![Page 12: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/12.jpg)
3. KLAUSA FROM
berhubungan dengan operasi predikat seleksi dari aljabar relasional. Operasi ini terdiri dari sebuah predikat yang menyangkut atributatribut dari relasi yang muncul dalam klausa from.
Sebuah Query SQL biasanya mempunyai bentuk :Select A1,A2,…..AnFrom r1,r2,….rnWhere P
![Page 13: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/13.jpg)
FUNGSI FUNGSI AGREGASI
•Average : avg menghitung nilai rata-rata•Minimum : min mencari nilai minimum•Maximum : max mencari nilai maksimum•Sum : sum menghitung nilai penjumlahan•Count : count menghitung jumlah data
Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe numerik.
![Page 14: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/14.jpg)
Contoh
1. Menampilkan banyak jumlah record Select count(*)From Mahasiswa
2. Menampilkan banyaknya mahasiswa angkatan 2003Select count(*)From MahasiswaWhere Angkatan like ‘2003%’
3 Menampilkan total SKS untuk kuliah di semester 2 : Select sum(sks)From Mahasiswa
Where semester=2
4. Menampilkan rata-rata sks untuk semua mata kuliah : Select avg(sks)
From Kuliah
![Page 15: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/15.jpg)
5. Menampilkan indeks nilai terbesar yang diperoleh mahasiswa untuk mata kuliah dengan kode kuliah ‘IF-110’ :
Select max(indeks_nilai)From NilaiWhere Kode_Kul=’IF-110’
6. Menampilkan tanggal lahir paling tua yang ada pada tabel mahasiswa :
Select min(tgl_lahir)From Mahasiswa
![Page 16: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/16.jpg)
BAHASA DEFINISI DATA(DATA – DEFINITION LANGUAGE)
DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi tetapi juga informasi untuk setiap relasi, yang meliputi :
– Skema setiap relasi– Domain nilai setiap atribut relasi– Konstrain integritas– Himpunan indeks untuk setiap relasi– Sekuriti dan autorisasi setiap relasi– Struktur penyimpanan secara fisik untuk setiap relasi
dalam disk.
![Page 17: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/17.jpg)
MEMBUAT TABEL
CREATE TABLE nama_tabel(
atribut1 type data1;atribut2 type data2;...
)
Contoh :CREATE TABLE Mahasiswa(
NIM char(4),Nama_Mhs varc har,Alamat varchar,
)
![Page 18: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/18.jpg)
MEMBUAT BASIS DATA
CREATE DATABASE Nama_Database
![Page 19: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/19.jpg)
MENGURUTKAN HASIL DENGAN ‘ORDER BY’
Misalkan :Mencari data mahasiswa yang berjenis kelamin
perempuan diurutkan berdasarkan NIM (urut turun)
SELECT *FROM MahasiswaWHERE Mahasiswa, Jenis_Kelamin = ‘Perempuan’ORDER BY NIM desc............ asc
![Page 20: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/20.jpg)
PENGELOMPOKKAN DENGAN ‘ORDER BY’
Mencari jumlah mahasiswa berdasarkan kelompok jenis kelamin
SELECT COUNT(NIM)
FROM Mahasiswa
ORDER BY Mahasiswa, Jenis_Kelamin
![Page 21: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/21.jpg)
Contoh :
Company_Name Amount
W3 School 5500
IBM 4500
W3 School 7100
Company
SELECT Company_Name, sum(amount)FROM CompanyORDER BY Company_Name
Output:W3 School 12600IBM 4500
![Page 22: BAB IV - SQL.ppt](https://reader034.vdocuments.net/reader034/viewer/2022050802/55cf9b65550346d033a5e91c/html5/thumbnails/22.jpg)
Tampilkan amount dengan angka > 10000
SELECT Company_Name, sum(amount)
FROM Company
ORDER BY Company_Name
Having sum(amount) > 10000
Output :
Company_Name Amount
W3 School 12600