2. ว่าที่ ร.ต. ดร.องอาจ อุ่นอนันต์ (อ.อาท)
การศึกษา :
Ph.D. in Information Technology, King Mongkut's University of
Technology North Bangkok
Master's degree in Information Technology, King Mongkut’s
University of Technology North Bangkok
Bachelor's degree in Computer Science, Chandrakasem Rajabhat University
Contact : Tel & Line 089-687-5859
37. ระบบบริหารจัดการฐานข้อมูล (Database Management System)
Ranking
of the most popular
database management
systems worldwide,
as of February 2023
https://www.statista.com/statistics/809750/worldwide-popularity-ranking-database-management-systems/
163. ภาษา SQL #2 (Structured Query Language #2)
1. ภาษาสาหรับการจัดการข้อมูล (Data Manipulation Language: DML)
1.1 เพิ่มข้อมูลในตาราง
ตัวอย่าง การเพิ่มข้อมูล MIS ลงในตาราง faculty
INSERT INTO faculty (faculty_id,faculty_name) VALUES ('','MIS’);
หรือ
INSERT INTO faculty VALUES ('','MIS’);
164. ภาษา SQL #2 (Structured Query Language #2)
1. ภาษาสาหรับการจัดการข้อมูล (Data Manipulation Language: DML)
จงสร้างตาราง และเพิ่มข้อมูล
id name surname sex birthday
1 aongart aunanan M 1985-04-25
2 manee paina F 2001-01-14
3 peter copper M 2001-06-07
4 toffy sukjai F 1978-12-25
members
name
187. ภาษา SQL #3 (Structured Query Language #3)
3. SQL สาหรับการรวมกลุ่ม เรียงลาดับ
ฟังก์ชันกำรรวมกลุ่ม เรียงลำดับ
- ORDER BY
- GROUP BY
188. ภาษา SQL #3 (Structured Query Language #3)
3. SQL สาหรับการรวมกลุ่ม เรียงลาดับ
3.1 รวมกลุ่มโดย GROUP BY
เมื่อต้องกำรรู้จำนวนที่ขำยสินค้ำได้ ในแต่ละรำยกำรสินค้ำ
ให้ใช้คำสั่งดังนี้
SELECT productid, SUM(quantity) FROM orderdetails
GROUP BY productid;
SELECT expressions
FROM tables
[WHERE conditions]
GROUP BY expression;
189. ภาษา SQL #3 (Structured Query Language #3)
3. SQL สาหรับการรวมกลุ่ม เรียงลาดับ
3.1 รวมกลุ่มโดย GROUP BY
SELECT productid, SUM(quantity) FROM orderdetails
GROUP BY productid;
เมื่อรู้จำนวนที่ขำยสินค้ำได้ ในแต่ละรำยกำรสินค้ำ ผลลัพธ์จะทำ
กำรรวมกลุ่มข้อมูลรำยกำรสินค้ำ และหำค่ำผลรวมด้วยคำสั่ง SUM()
190. ภาษา SQL #3 (Structured Query Language #3)
3. SQL สาหรับการรวมกลุ่ม เรียงลาดับ
3.2 เรียงลำดับ ORDER BY
เมื่อต้องกำรเรียงลำดับข้อมูล มี 2 แบบโดย
- เรียงจำกน้อยไปมำก (Ascending: ASC)
- เรียงจำกมำกไปน้อย (Descending: DESC)
SELECT expressions
FROM tables
[WHERE conditions]
ORDER BY expression [ ASC | DESC ];
191. ภาษา SQL #3 (Structured Query Language #3)
3. SQL สาหรับการรวมกลุ่ม เรียงลาดับ
3.2 เรียงลำดับ ORDER BY
เมื่อต้องกำรเรียงลำดับรหัสสินค้ำจำกน้อยไปมำก ให้ใช้คำสั่งดังนี้
SELECT * FROM orderdetails ORDER BY productid ASC;
เมื่อต้องกำรเรียงลำดับรหัสสินค้ำจำกมำกไปน้อย ให้ใช้คำสั่งดังนี้
SELECT * FROM orderdetails ORDER BY productid DESC;
198. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : LEFT JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
3 Peter
4 Siri 23000
199. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : LEFT JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
3 Peter
4 Siri 23000
SELECT * FROM Table_a
LEFT JOIN Table_b ON Table_a.ID = Table_b.ID
200. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : RIGHT JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
4 Siri 23000
5 18000
201. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : RIGHT JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
3 Peter
4 Siri 23000
SELECT * FROM Table_a
RIGHT JOIN Table_b ON Table_a.ID = Table_b.ID
202. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : INNER JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
4 Siri 23000
203. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : INNER JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
4 Siri 23000
SELECT * FROM Table_a
INNER JOIN Table_b ON Table_a.ID = Table_b.ID
204. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : FULL JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
3 Peter
4 Siri 23000
5 18000
205. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : FULL JOIN
ID Name
1 John
2 Sara
3 Peter
4 Siri
ID Salary
1 15000
2 9000
4 23000
5 18000
Table_a Table_b
ID Name Salary
1 John 15000
2 Sara 9000
3 Peter
4 Siri 23000
5 18000
SELECT * FROM Table_a
FULL JOIN Table_b ON Table_a.ID = Table_b.ID
206. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
ตัวอย่ำงกำร JOIN : FULL JOIN
SELECT * FROM Table_a
FULL JOIN Table_b ON Table_a.ID = Table_b.ID
SELECT * FROM Table_a
LEFT JOIN Table_b ON Table_a.ID = Table_b.ID
UNION
SELECT * FROM Table_a
RIGHT JOIN Table_b ON Table_a.ID = Table_b.ID
207. ภาษา SQL #4 (Structured Query Language #4)
1. SQL สาหรับ JOIN Table
Attribute Key
OrderID PK
CustomerID FK
OrderDate
Attribute Key
CustomerID PK
CustomerName
ContactName
Country
Orders
Customers
Attribute Key
OrderDetailID PK
OrderID FK
ProductID FK
Quantity
OrderDetails
Attribute Key
ProductID PK
ProductName FK
SupplierID FK
CategoryID FK
Unit
Price
Products
208. ใบงานที่ 8
ให้นักศึกษาหา Query เพื่อหาคาตอบดังนี้
- แสดงรำยกำร Order และรำยชื่อลูกค้ำที่สั่ง Order มำแต่ละ Order
- แสดงจำนวน Order โดยแยกตำมประเทศของลูกค้ำที่สั่ง Order
- แสดงรำยชื่อลูกค้ำ และจำนวนยอดที่ลูกค้ำซื้อสินค้ำทั้งหมด