Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
BAB 4 QUERY FORMULATION with SQL
2
KEMAMPUAN SQL Database definition
Untuk membuat database (mis: create table, alter table) Database manipulation Untuk cari/ tambah/edit/hapus data (mis: select, insert, delete) Database control Untuk pengendalian database, misalnya complete transaction (commit), undo transaction (rollback), database rule (trigger)
3
PERINTAH DASAR SELECT Syntax:
SELECT <list of columns/expression> FROM <list of tables> WHERE <list of conditions> GROUP BY <list of grouping columns> HAVING <list of group conditions> ORDER BY <list of sorting specifications>
4
REVIEW DASAR SQL ProdNo ProdName ProdMfg Stock Price NextShip Date
17” Color Monitor Color Meg 12 169 2/20/2007 P 19” Color Monitor 10 319 P 10-Foot Printer Cable Ethilte 100 …. …
5
QUERY FORMULATION Data barang yang akan dikirim tanggal 1/22/2007
Data barang yang akan dikirim tanggal 1/22/2007 dan harganya kurang dari $100 Data barang yang sudah habis tetapi belum dipesan Jumlah jenis barang yang akan dikirim tiap harinya Barang yang harganya lebih dari $50, hasil terurut berdasarkan pembuat/pabrik
6
JOIN TABLES Inner Join: matched row for both tables
One-Sided Outer Joined Left Join: matched row for both tables + unmatched row from left tables Right Join: matched row for both tables + unmatched row from right tables Full Join : matched row + unmatch row for both tables
7
INNER JOIN Npm Nama 01 Ani 02 Tuti 03 Hasan NPM KodeMK 01 MK001 MK002
MHS KULIAH Npm Nama 01 Ani 02 Tuti 03 Hasan NPM KodeMK 01 MK001 MK002 02 MK003 MK004 NPM Nama KodeMK 01 Ani MK001 MK002 02 Tuti MK003 MK004 Select mhs.*, kodemk from mhs INNER JOIN kuliah ON mhs.npm=kuliah.npm
8
LEFT JOIN Npm Nama 01 Ani 02 Tuti 03 Hasan NPM KodeMK 01 MK001 MK002
MHS KULIAH Npm Nama 01 Ani 02 Tuti 03 Hasan NPM KodeMK 01 MK001 MK002 02 MK003 MK004 NPM Nama KodeMK 01 Ani MK001 MK002 02 Tuti MK003 MK004 03 Hasan Select mhs.*, kodemk from mhs LEFT JOIN kuliah ON mhs.npm=kuliah.npm
9
GROUPING & JOIN Buatlah daftar berisi npm, nama mahasiswa dan jumlah mata kuliah yang diambil, seluruh mahasiswa Npm Nama JmlMK 01 Ani 2 02 Tuti 3 03 Hasan
10
ADDING DATA INSERT command Contoh: INSERT INTO mahasiswa
(npm, nama, alamat) Values(“ ”,”Yunita”,”Merdeka 37”)
11
UPDATE DATA UPDATE command Contoh: UPDATE pegawai SET gaji=gaji*1.1
Where Dept=“01”
12
DELETE DATA DELETE command Contoh: DELETE FROM mahasiswa
Where status=“0”
13
Kasus: Order Entry Database
Customer(Custno,CustFirstname,…..) Employee(EmpNo,EmpFirstname,….) OrderTbl(OrdNo,Orddate,Custno,EmpNo,…) Orderline(OrdNo,ProdNo,Qty,…) Product(ProdNo,ProdName, ProdPrice,….)
14
BUATLAH QUERY UTK: Daftar cities & states dari seluruh order. Hilangkan duplikasi data Daftar customer dengan saldo > 150 dan tinggal di Denver Daftar product yang namanya memiliki kata “Ink jet” Daftar customer dari Colorado (State=“CO”) yang pernah memesan di bulan February 2007
15
BUATLAH QUERY UTK: Daftar nama barang yang dipesan oleh customer dgn nomor “C ” pada bulan Januari 07. Daftar rata-rata saldo piutang customer per kota Daftar Order number, date, customer number, name dari order bulan January 2007 Daftar employee dan jumlah order yang diterima pada tahun 2007, termasuk yang tidak pernah menangani order
16
NESTED QUERY Query in another query Type I Nested Query:
Evaluated one time Using IN, NOT IN operator Type II Nested Query: Evaluated one for every record in outer query Using EXIST, NOT EXIST operator
17
TYPE I NESTED QUERY Daftar customer dari Colorado (State=“CO”) yang pernah memesan di bulan February 2007 SELECT custno,custfirstname,custlastname FROM customer WHERE custstate=“CO” AND custno IN (SELECT custno FROM ordertbl WHERE month(orddate)=2 and year(orddate)=2007) OUTER- QUERY SUB- QUERY
18
TYPE II NESTED QUERY Daftar customer dari Colorado (State=“CO”) yang tidak pernah memesan di bulan February 2007 SELECT custno,custfirstname,custlastname FROM customer WHERE NOT EXISTS (SELECT * FROM ordertbl WHERE month(orddate)=2 and year(orddate)=2007)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.