Chương 7-Bài 2. [Bài tập 2.5] - Thực hành truy vấn dữ liệu cho Nghiệp vụ Bán hàng - Trang web Thương mại điện tử
Database mẫu
Mô hình ER
File SQL database mẫu
ecommerce_db.sqlCác yêu cầu dữ liệu
Nếu truy vấn không tìm thấy dữ liệu thì có thểthêm / hiệu chỉnh dữ liệu
để kiểm tra lại câu truy vấn có trả về dữ liệu chính xác hay chưa?
1. Sử dụng câu lệnh truy vấn dữ liệu đơn giản với các yêu cầu sau.
- 1.1. Lấy danh sách tất cả sản phẩm
- 1.2. Chỉ lấy các thông tin về mã sản phẩm, tên sản phẩm, giá nhập, giá niêm yết (giá bán), số lượng, % giảm giá của các sản phẩm
- 1.3. Lấy mã sản phẩm, tên sản phẩm, giá nhập, giá niêm yết (giá bán) của những sản phẩm có số lượng còn lại > 60
- 1.4. Lấy 3 sản phẩm mới nhất vừa được thêm vào Hệ thống
- 1.5. Lấy sản phẩm mà tên sản phẩm có chứa chữ
Samsung
- 1.6. Lấy các sản phẩm với tên có chứa
MacBook
và giá niêm yết (giá bán) trên 7,000,000 - 1.7. Lấy các sản phẩm với tên có giá niêm yết (giá bán) từ 8,000,000 đến 10,000,000
- 1.8. Liệt kệ Danh sách các Đơn hàng trong tháng 07/2022?
- 1.9. Lấy danh sách ID nhà sản xuất (duy nhất) có sản phẩm trong hệ thống
2. Sử dụng kết nối các bảng với lệnh truy vấn JOIN SQL để:
- 2.1. Lấy mã sản phẩm, tên sản phẩm, giá nhập, giá niêm yết (giá bán), số lượng, tên nhà sản xuất của tất cả sản phẩm
- 2.2. Lấy mã sản phẩm, tên sản phẩm, giá nhập, giá niêm yết (giá bán), số lượng, mã nhà sản xuất, tên nhà sản xuất, mã loại sản phẩm, tên loại sản phẩm của những sản phẩm có giá lớn hơn 5.000.000.
- 2.3. Lấy tất cả sản phẩm thuộc loại là
Máy tính bảng
(tablet) - 2.4. Hiển thị thông tin sản phẩm có giá cao nhất.
- 2.5. Hiển thị thông tin của các đơn đặt hàng, bao gồm:
Mã đơn hàng "Order_" + id | Họ tên Khách hàng first_name + last_name | Địa chỉ khách hàng address1 | Địa chỉ giao hàng ship_address1 | Phí vận chuyển shipping_pee | Hình thức thanh toán payment_type |
- 2.6. Hiển thị thông tin các Đơn hàng và danh sách Các sản phẩm mà khách hàng
Cường
đã mua trong năm 2017
3. Thực hiện câu lệnh Group By và Having để thực hiện các thống kê sau
- 3.1. Hiển thị mỗi Loại sản phẩm có bao nhiêu sản phẩm.
- 3.2. Tính tổng số lượng sản phẩm Còn lại của từng loại sản phẩm
- 3.3. Tìm loại sản phẩm mà có tổng số lượng Sản phẩm đang có trong hệ thống > 50
4. Thực hiện câu lệnh truy vấn trả lời các yêu cầu sau:
- 4.1. Tìm nhà sản xuất không bán được sản phẩm nào trong Hệ thống?
- 4.2. Tìm top 3 Khách hàng mua nhiều nhất trong năm nay để tri ân khách hàng?
- 4.3. Thống kê danh sách các sản phẩm nào đã bán gần hết số lượng (số lượng < 10 xem như gần hết), để Chủ SHOP nhập thêm hàng về?
- 4.3. Hình thức thanh toán phổ biến nhất là gì?
5. Sử dụng câu lệnh truy vấn để tìm ra được các dữ liệu theo mong muốn sau.
- 5.1. Tìm top 3 Sản phẩm đạt Doanh thu cao nhất trong 3 tháng gần đây?
- 5.2. Liệt kê Danh sách các nơi giao hàng mà Hệ thống đã xử lý?
- 5.3. Tìm top 3 Đơn hàng có ngày giao đến khách hàng chậm nhất (tính theo đơn vị là ngày; từ ngày Khách đặt hàng - đến ngày Giao hàng đến tay Khách)?
- 5.4. Thống kê Danh sách các Sản phẩm chưa được cập nhật Hình ảnh (không có bất kỳ hình ảnh nào) để Nhân viên cập nhật Hình ảnh bổ sung.
- 5.5. Tìm khách hàng Lớn tuổi nhất trong Hệ thống?
- 5.6. Thống kê danh sách các Sản phẩm nào đã bán gần hết số lượng (số lượng < 10 xem như gần hết), để chủ SHOP nhập thêm hàng về?
- 5.7. Thống kê danh sách các Sản phẩm đang bán lỗ vốn (giá hiện tại < giá cũ)? Cần hiển thị thông tin như sau:
Tên Nhà sản xuất | Tên Loại sản phẩm | Tên Sản phẩm | Giá cũ | Giá hiện tại | Chênh lệch giá |
... | ... | ... | ... | ... | ... |
- 5.8. Thống kê danh sách các Sản phẩm đang Khuyến mãi trong thời gian 2 tháng/60 ngày (tính từ ngày hiện tại)?
- 5.9. Thống kê danh sách các Đơn hàng chưa được xử lý xong (Trạng thái = 0), sắp xếp Giảm dần theo Tổng thành tiền Đơn hàng?
- 5.10. Hình thức thanh toán phổ biến nhất là gì? Tổng doanh số đạt được của Hình thức thanh toán này là bao nhiêu?
Yêu cầu
- Viết các câu lệnh SQL thao tác dữ liệu SELECT
- Sử dụng Tool (HeidiSQL / PHP MyAdmin / MySQL Workbench) để viết và kiểm tra các câu lệnh SQL tương ứng.
- Viết bài tập vào file Word và nộp bài thông qua Google Form (https://forms.gle/CHu4RzR6nXXkE2SW9).
- Mẫu nộp bài tập: Mau_NopBaiTap_TDU_TH13_[MSSV]_[HoTen]
Mục lục
Chương trình học
- Cơ sở dữ liệu
-
Thiết kế Cơ sở dữ liệu
12
- Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model) #10551
- Mô hình dữ liệu Vật lý PDM (Physical Data Model) #10560
- [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử #10552
- [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử #10571
- [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học #10554
- [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học #10572
- [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc #10556
- [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc #10573
- [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết #10569
- [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10574
- [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự #10575
- [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự #10558
- Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
-
Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL
9
- Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
- Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
- Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
- Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
- Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
- [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử #10598
- [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10603
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
- [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá #11614
-
Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete)
5
- Câu lệnh Thêm dữ liệu (INSERT) #2663
- Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
- Câu lệnh Xóa dữ liệu (DELETE) #2664
- [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử #10605
- [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết #10625
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
-
Ngôn ngữ lập trình PHP - Cú pháp căn bản
13
- Sơ đồ vận hành của một Website #1311
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
- [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL #10651
- [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #10669
- [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #10670
- [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP #10695
- [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP #10704
- Hàm (function) trong PHP #10713
- Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP #10727
- Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP #10728
- [Bài tập] - Làm quen với hàm (function) trong PHP #10721
- [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP #10753
-
Ngôn ngữ lập trình PHP - Xử lý Request và Response
6
- Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
- Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
- [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP #10771
- [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP #10772
- [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP #10773
- Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
- Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
-
Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL
16
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
- Tạo kết nối đến CSDL MySQL trong PHP #8116
- Thực thi câu lệnh SELECT trong PHP #8124
- Thực thi câu lệnh INSERT trong PHP #8118
- Thực thi câu lệnh INSERT với FORM trong PHP #8126
- Thực thi câu lệnh UPDATE trong PHP #8120
- Thực thi câu lệnh UPDATE với FORM trong PHP #8133
- Thực thi câu lệnh DELETE trong PHP #8122
- Thực thi câu lệnh DELETE với FORM trong PHP #8130
- [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP #10803
- [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP #10807
- [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP #10812
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index #10819
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index #10822
- [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create #10831
- [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create #10836
- Đồ án cuối khóa 6
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Cơ sở dữ liệu
-
Thiết kế Cơ sở dữ liệu
12
- Mô hình dữ liệu Quan niệm CDM (Conceptual Data Model) #10551
- Mô hình dữ liệu Vật lý PDM (Physical Data Model) #10560
- [Bài tập 1.1] - Thực hành thiết kế sơ đồ CDM trang web Thương mại điện tử #10552
- [Bài tập 1.2] - Thực hành thiết kế sơ đồ PDM (ER) trang web Thương mại điện tử #10571
- [Bài tập 1.3] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Thiết bị / Phòng học #10554
- [Bài tập 1.4] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Thiết bị / Phòng học #10572
- [Bài tập 1.5] - Thực hành thiết kế sơ đồ CDM hệ thống Kênh phát nhạc #10556
- [Bài tập 1.6] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Kênh phát nhạc #10573
- [Bài tập 1.7] - Thực hành thiết kế sơ đồ CDM trang web Quản lý Truyện tranh / Tiểu thuyết #10569
- [Bài tập 1.8] - Thực hành thiết kế sơ đồ PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10574
- [Bài tập 1.9] - Thực hành thiết kế sơ đồ CDM hệ thống Quản trị Nhân sự #10575
- [Bài tập 1.10] - Thực hành thiết kế sơ đồ PDM (ER) hệ thống Quản trị Nhân sự #10558
- Hệ quản trị Cơ sở dữ liệu MySQL - Tổng quan, khái niệm về database 2
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh tạo cấu trúc (schema database) 2
-
Hệ quản trị Cơ sở dữ liệu MySQL - Tạo cấu trúc database với HeidiSQL
9
- Tạo cơ sở dữ liệu (database) NetaShop - Sử dụng HeidiSQL #8587
- Tạo bảng (table) Danh mục phẳng - Sử dụng HeidiSQL #8582
- Tạo bảng (table) Danh mục có liên kết khóa ngoại (có quan hệ) - Sử dụng HeidiSQL #8597
- Tạo bảng (table) theo quan hệ Nhiều - Nhiều (N-N) - Sử dụng HeidiSQL #8619
- Tạo bảng (table) có Quan hệ Tự thân (self foreign key) - Sử dụng HeidiSQL #8664
- [Bài tập 2.1] - Thực hành tạo cấu trúc database với PDM (ER) trang web Thương mại điện tử #10598
- [Bài tập 2.2] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Truyện tranh / Tiểu thuyết #10603
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
- [Bài tập 2.3] - Thực hành tạo cấu trúc database với PDM (ER) trang web Quản lý Bóng đá #11614
-
Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh cập nhật dữ liệu (Insert - Update - Delete)
5
- Câu lệnh Thêm dữ liệu (INSERT) #2663
- Câu lệnh Cập nhật dữ liệu (UPDATE) #2665
- Câu lệnh Xóa dữ liệu (DELETE) #2664
- [Bài tập 2.3] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Thương mại điện tử #10605
- [Bài tập 2.4] - Thực hành thao tác các câu lệnh cập nhật dữ liệu trang web Quản lý Truyện tranh / Tiểu thuyết #10625
- Hệ quản trị Cơ sở dữ liệu MySQL - Các lệnh truy vấn dữ liệu (Select query data) 3
-
Ngôn ngữ lập trình PHP - Cú pháp căn bản
13
- Sơ đồ vận hành của một Website #1311
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
- [Bài tập] - Tạo các trang web PHP cho phép Khách truy cập tương ứng từ địa chỉ web URL #10651
- [Bài tập] - Khai báo các biến dữ liệu Đơn giản trong PHP và Render dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #10669
- [Bài tập] - Khai báo các biến dữ liệu Mảng Array và Render dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #10670
- [Bài tập] - Xét kết quả tốt nghiệp của Sinh viên dựa theo thang điểm 10 sử dụng PHP #10695
- [Bài tập] - Làm quen với vòng lặp FOR / FOREACH / WHILE / DO WHILE trong PHP #10704
- Hàm (function) trong PHP #10713
- Các hàm (functions) xử lý Ngày tháng (datetime) trong PHP #10727
- Các hàm (functions) kiểm tra Biến (Variable) và các hàm kiểm tra Kiểu dữ liệu (data types) của biến trong PHP #10728
- [Bài tập] - Làm quen với hàm (function) trong PHP #10721
- [Bài tập] - Làm quen và sử dụng các hàm (functions) thông dụng có sẵn trong PHP #10753
-
Ngôn ngữ lập trình PHP - Xử lý Request và Response
6
- Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8704
- Thu thập và Xử lý dữ liệu bằng Yêu cầu POST (Request POST) trong PHP #8705
- [Bài tập] - Tạo Form Đăng nhập và truyền dữ liệu bằng Request POST trong PHP #10771
- [Bài tập] - Tạo Form Liên hệ và truyền dữ liệu bằng Request POST trong PHP #10772
- [Bài tập] - Tạo trang Danh sách Sinh viên và truyền dữ liệu chức năng Sửa/Xóa bằng Request GET trong PHP #10773
- Bài tập tạo Form Tìm kiếm Thu thập và Xử lý dữ liệu bằng Yêu cầu GET (Request GET) trong PHP #8717
- Ngôn ngữ lập trình PHP - Thiết kế bố cục (layouts) cho trang web 3
-
Ngôn ngữ lập trình PHP - Thao tác với Cơ sở dữ liệu MySQL
16
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
- Tạo kết nối đến CSDL MySQL trong PHP #8116
- Thực thi câu lệnh SELECT trong PHP #8124
- Thực thi câu lệnh INSERT trong PHP #8118
- Thực thi câu lệnh INSERT với FORM trong PHP #8126
- Thực thi câu lệnh UPDATE trong PHP #8120
- Thực thi câu lệnh UPDATE với FORM trong PHP #8133
- Thực thi câu lệnh DELETE trong PHP #8122
- Thực thi câu lệnh DELETE với FORM trong PHP #8130
- [Bài tập] - Tạo trang web hiển thị Danh sách các Truyện tranh/Tiểu thuyết hiện có trong Database ra ngoài Trang chủ - Thực thi câu lệnh SELECT trong PHP #10803
- [Bài tập] - Tạo trang web hiển thị Chi tiết của một Truyện tranh/Tiểu thuyết - Thực thi câu lệnh SELECT trong PHP #10807
- [Bài tập] - Tạo trang web hiển thị Nội dung của một Chương/Tập cụ thể thuộc một Truyện tranh/Tiểu thuyết nào đó - Thực thi câu lệnh SELECT trong PHP #10812
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Truyện tranh - Index #10819
- [Bài tập] - Tạo trang web Quản lý hiển thị Danh sách Tiểu thuyết - Index #10822
- [Bài tập] - Tạo trang web Quản lý Thêm mới Truyện tranh - Create #10831
- [Bài tập] - Tạo trang web Quản lý Thêm mới Tiểu thuyết - Create #10836
- Đồ án cuối khóa 6
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!