Skip to main content

2. Bài tập

Phần A: Truy vấn cơ bản

  1. Hiển thị tất cả các mặt hàng có giảm giá <= 10%
  2. Hiện thị tất cả các mặt hàng không có giảm giá
  3. Hiển thị tất cả các mặt hàng có số lượng tồn kho <= 5
  4. Hiển thị tất cả các mặt hàng có Giá bán sau khi đã giảm giá <= 100.000
  5. Hiện thị tất cả các mặt hàng thuộc danh mục CPU, RAM
  6. Hiển thị tất cả các khách hàng có địa chỉ ở Quận Hải Châu
  7. Hiển thị tất cả các khách hàng có địa chỉ ở Quận Hải Châu hoặc Quận Thanh Khê
  8. Hiển thị tất cả các khách hàng có năm sinh 1990.
  9. Hiển thị tất cả các khách hàng có tuổi trên 60.
  10. Hiển thị tất cả các khách hàng có tuổi từ 20 đến 30.
  11. Hiển thị tất cả các khách hàng có sinh nhật là hôm nay. Gợi ý: dùng hàm GETDATE(), MONTH(), DAY()
  12. Hiển thị tất cả các đơn hàng có trạng thái là COMPLETED
  13. Hiển thị tất cả các đơn hàng có trạng thái là COMPLETED trong ngày hôm nay
  14. Hiển thị tất cả các đơn hàng chưa hoàn thành trong tháng này
  15. Hiển thị tất cả các đơn hàng có trạng thái là CANCELED
  16. Hiển thị tất cả các đơn hàng có trạng thái là CANCELED trong ngày hôm nay
  17. Hiển thị tất cả các đơn hàng có trạng thái là COMPLETED trong tháng này
  18. Hiển thị tất cả các đơn hàng có trạng thái là COMPLETED trong tháng 1 năm 2021
  19. Hiển thị tất cả các đơn hàng có trạng thái là COMPLETED trong năm 2021
  20. Hiển thị tất cả các đơn hàng có hình thức thanh toán là CASH
  21. Hiển thị tất cả các đơn hàng có hình thức thanh toán là CREADIT CARD
  22. Hiển thị tất cả các đơn hàng có địa chỉ giao hàng là Hà Nội
  23. Hiển thị tất cả các nhân viên có sinh nhật là tháng này
  24. Hiển thị tất cả các nhà cung cấp có tên là: (SONY, SAMSUNG, TOSHIBA, APPLE)
  25. Hiển thị tất cả các nhà cung cấp không có tên là: (SAMSUNG, APPLE)
  26. Hiển thị tất cả các nhà cung cấp có địa chỉ ở Quận Hải Châu và Quận Thanh Khê.
  27. Hiển thị tất cả các nhà cung cấp có địa chỉ ở Quận Hải Châu hoặc Quận Thanh Khê.
  28. Hiển thị tất cả các khách hàng có sinh nhật là ngày hôm nay.
  29. Hiển thị xem có bao nhiêu mức giảm giá khác nhau.
  30. Hiển thị xem có bao nhiêu mức giảm giá khác nhau và số lượng mặt hàng có mức giảm giá đó.
  31. Hiển thị xem có bao nhiêu mức giảm giá khác nhau và số lượng mặt hàng có mức giảm giá đó, sắp xếp theo số lượng giảm giá giảm dần.
  32. Hiển thị xem có bao nhiêu mức giảm giá khác nhau và số lượng mặt hàng có mức giảm giá đó, sắp xếp theo số lượng giảm giá tăng dần, chỉ hiển thị các mức giảm giá có số lượng mặt hàng >= 5
  33. Hiển thị xem có bao nhiêu mức tuổi khác nhau của khách hàng và số lượng khách hàng có mức tuổi đó, sắp xếp theo số lượng khách hàng tăng dần.
  34. Hiển thị xem có bao nhiêu mức tuổi khác nhau của nhân viên và số lượng nhân viên có mức tuổi đó, sắp xếp theo số lượng nhân viên giảm dần.
  35. Hiển thị số lượng đơn hàng theo từng ngày khác nhau sắp xếp theo số lượng đơn hàng giảm dần.
  36. Hiển thị số lượng đơn hàng theo từng tháng khác nhau sắp xếp theo số lượng đơn hàng giảm dần.
  37. Hiển thị số lượng đơn hàng theo từng năm khác nhau sắp xếp theo số lượng đơn hàng giảm dần.
  38. Hiển thị số lượng đơn hàng theo từng năm khác nhau sắp xếp theo số lượng đơn hàng giảm dần, chỉ hiển thị các năm có số lượng đơn hàng >= 5.

Phần B: Gọi thủ tục

tip

Để gọi thủ tục trong SQL Server, bạn sử dụng câu lệnh EXECUTE hoặc EXEC. Và truyền danh sánh các tham số của thủ tục.

  1. Hiển thị tất cả các mặt hàng có giảm giá trong khoảng @MinDiscount@MaxDiscount, tên thủ tục là: usp_Products_GetByDiscount
EXECUTE [dbo].[usp_Products_GetByDiscount] @MinDiscount = 5, @MaxDiscount = 50

hoặc

EXECUTE [dbo].[usp_Products_GetByDiscount] 5, 50
  1. Hiển thị tất cả các mặt hàng có số lượng tồn kho trong khoảng @MinStock@MaxStock, tên thủ tục là: usp_Products_GetByStock
  2. Hiển thị tất cả các mặt hàng có Giá bán sau khi đã giảm giá <= @Total, tên thủ tục là: usp_Products_GetByTotal
  3. Hiển thị tất cả các khách hàng có địa chỉ ở @Address, tên thủ tục là: usp_Customers_GetByAddress
  4. Hiển thị tất cả các khách hàng có năm sinh @YearOfBirth, tên thủ tục là: usp_Customers_GetByYearOfBirth
  5. Hiển thị tất cả các khách hàng có tuổi từ @MinAge đến MaxAge, tên thủ tục là: usp_Customers_GetByAge
  6. Hiển thị tất cả các khách hàng có sinh nhật là @Month, @Day, tên thủ tục là: usp_Customers_GetByDateOfBirth