SELECT orders.id AS order_id, customers.name AS customer_name, orders.order_date
FROM orders
JOIN customers ON orders.customer_id = customers.id;
2. Lấy danh sách sản phẩm trong từng đơn hàng
SELECT orders.id AS order_id, products.name AS product_name, order_details.quantity
FROM orders
JOIN order_details ON orders.id = order_details.order_id
JOIN products ON order_details.product_id = products.id;
3. Tính tổng tiền của từng đơn hàng
SELECT
orders.id AS order_id,
SUM(products.price * order_details.quantity) AS total_amount
FROM orders
JOIN order_details ON orders.id = order_details.order_id
JOIN products ON order_details.product_id = products.id
GROUP BY orders.id;
4. Lấy danh sách khách hàng và tổng số tiền đã chi tiêu
SELECT
customers.name,
SUM(products.price * order_details.quantity) AS total_spent
FROM customers
JOIN orders ON customers.id = orders.customer_id
JOIN order_details ON orders.id = order_details.order_id
JOIN products ON order_details.product_id = products.id
GROUP BY customers.name;
5. Tìm sản phẩm bán chạy nhất
SELECT
products.name,
SUM(order_details.quantity) AS total_sold
FROM products
JOIN order_details ON products.id = order_details.product_id
GROUP BY products.name
ORDER BY total_sold DESC
LIMIT 1;
Tự đánh giá sau bài học
Kỹ năng
Đã nắm rõ
Cần ôn thêm
JOIN nhiều bảng
✅
⬜
Dùng GROUP BY và hàm tổng hợp
✅
⬜
Lọc dữ liệu, sắp xếp
✅
⬜
Truy vấn có tính toán
✅
⬜
Kết thúc Chương 3: Truy vấn nhiều bảng
Xin chúc mừng bạn đã hoàn thành một chương rất quan trọng! Bạn đã:
Biết cách JOIN nhiều bảng.
Biết cách gom nhóm, tính tổng, và phân tích dữ liệu.
Hiểu cách áp dụng SQL để giải quyết một bài toán thực tế.
Giới thiệu chương 4
Trong chương tiếp theo, chúng ta sẽ học Thiết kế và Tối ưu cơ sở dữ liệu – bạn sẽ biết cách xây dựng CSDL chuẩn, sửa cấu trúc bảng, dùng index để tăng tốc hệ thống và thiết kế một hệ thống Blog đơn giản.
Thảo luận