นับจำนวนออร์เดอร์และคำนวณต้นทุนรวม
ในแบบฝึกหัดนี้ จะใช้ JOIN เพื่อเชื่อมสองตารางเข้าด้วยกัน เพื่อหาจำนวนออร์เดอร์ทั้งหมดของแต่ละคนและผลรวมของราคาสินค้าทุกรายการ โดยต้องเชื่อมตาราง Person และ History ผ่าน primary key และ foreign key เพื่อดึงข้อมูลที่จำเป็นทั้งหมด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Hierarchical and Recursive Queries in SQL Server
คำแนะนำการฝึกหัด
- ใช้
COUNT()นับจำนวนออร์เดอร์ และตั้งชื่อแทนว่าOrders - ใช้
SUM()คำนวณราคารวมของออร์เดอร์ทั้งหมด และตั้งชื่อแทนว่าCosts - เชื่อมตาราง
PersonและHistoryเข้าด้วยกัน - จัดกลุ่มข้อมูลตาม
IDโดยใช้GROUP BY
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
INSERT INTO Person
VALUES (1, 'Andrew', 'Anderson','Union Ave 10','New York','1986-12-30');
INSERT INTO Person
VALUES (2, 'Sam', 'Smith','Flushing Ave 342','New York','1986-12-30');
INSERT INTO History VALUES ( 1, 'IPhone XS', 1000, 1);
INSERT INTO History VALUES ( 2, 'MacBook Pro', 1800, 1);
INSERT INTO History VALUES ( 5, 'IPhone XR', 600, 2);
INSERT INTO History VALUES ( 6, 'IWatch 4', 400, 1);
SELECT
Person.ID,
-- Count the number of orders
___(___) as ___,
-- Add the total price of all orders
___(___) as ___
FROM Person
-- Join the tables Person and History on their IDs
___ History
ON Person.___ = History.___
-- Aggregate the information on the ID
___ ___ Person.___;