Lab SQL SQL Tổng hợp (Dùng Database NorthWind đểthực hiện các bài tập này) 1. SELECT Câu 1. Hiển thịcác cột: CategoryID, CategoryName và Description trong table Categories theo chiều giảm dần của CategoryName. Câu 2. Hãy liệt kê tên các thành phố (City) trong bảng Customers với thông tin không trùng lặp (sử dụng DISTINCT). Câu 3. Trong table Products, hãy hiển thị 3 cột ProductName, UnitPrice và UnitsInStock đồng thời sắp xếp 2 cột này theo chiều giảm dần. Câu 4. Trong table Orders chỉ hiển thị những record có cột Freight dưới 50. Câu 5. Hãy hiển thị những nhân viên (employee) thuộc thành phố London trong bảng Employees Câu 6. Hãy hiển thị những nhân viên (employee) có FirstName bắt đầu bằng ký tự A trong bảng Employees Trang 1
Câu 7. Trong table Employees, hãy liệt kê những nhân viên có năm sinh trong khoảng từ 1950 đến 1960 Câu 8. Trong table Shippers hãy liệt kê các CompanyName và số Phone với điều kiện Phone không hiển thị mã vùng (lấy 7 số cuối). Câu 9. Hãy tìm nhân viên có HomePhone mà 4 số cuối là 4444 Câu 10. Hãy tìm những nhân viên ở thành phố Tacoma hoặc Seattle Câu 11. Hãy hiển thị những nhân viên có TitleOfCourtesy là Mr. hoặc Ms.. Trang 2
Câu 12. Trong table Suppliers, hãy hiển thị những record có số Fax (không null) và có SupplierID từ 5 tới 20. Câu 13. Hãy hiển thị các Supplier có Country là Germany hoặc Australia hoặc Denmark Câu 14. Trong table Suppliers, hãy hiển thị các record có SupplierID từ 5 -> 20 và không thuộc Country Germany. Trang 3
Câu 15. Hiển thị thông tin trong table Suppliers trừ những SupplierID từ 10 ->20. Câu 16. Dùng table Products để đưa ra những sản phẩm có UnitPrice <20 và UnitsInStock >30 Câu 17. Hiển thị tất cả các sản phẩm trong table Products thuộc CategoryID là 1 và trừ sản phẩm có tên là Chang. Câu 18. Liệt kê những Product thuộc CategoryName là Seafood. Trang 4
Câu 19. Hiển thị: ProductID, ProductName, QuantityPerUnit và UnitsInStock của những sản phẩm thuộc loại confections và có QuantityPerUnit chứa chuỗi boxes hoặc bags. Câu 20. Hãy tìm những tên sản phẩm chứa chuỗi Chef trong table Products Câu 21. Tìm sản phẩm có tên bắt đầu là Queso và kết thúc là chuỗi Pastora trong table Products Câu 22. Hãy đếm có bao nhiêu Territory thuộc từng Region. Câu 23. Câu 24. Câu 25. Trong table Customers hãy cho biết có bao nhiêu customers không có số fax Tìm trong table Customers những CompanyName có chiều dài dưới 10 ký tự Trong table Order Details, hãy thống kê UnitPrice lớn nhất và Quantity lớn nhất Câu 26. Trong table Order Details, hãy thống kê UnitPrice lớn nhất và Quantity lớn nhất theo từng ProductID. Trang 5
Câu 27. Câu 28. Tính giá trị trung bình của cột UnitPrice trong table Order Details Tìm những Quantity cao nhất trong table Order Details trên ProductName Câu 29. Hiển thị cột CategoryID và UnitsInStock của những UnitsInStock nhỏ nhất trong table Products. Câu 30. Hãy hiển thị những giá trị trung bình của UnitPrice theo CategoryID và chỉ hiển thị những giá trị trung bình trong khoảng từ 20 đến 30. Câu 31. Hãy tính giá trịtrung bình trong cột UnitPrice của CategoryName là Seafood. Trang 6
Câu 32. Trong bảng Orders hãy cho biết tổng giá trị cột Freight của những EmployeeID nào có ít hơn 50 OrderID. Câu 33. Hãy cho biết những mã EmployeeID nào có hơn 50 OrderID. Câu 34. Tính tổng cột UnitsInStock trong table Products của những CategoryName bắt đầu với ký tự C. Câu 35. Trong table Products hãy tính tổng giá trịcột UnitsInStock và giá trịtrung bình cột UnitPrice của những product có ProductID <10 và chỉhiển thịcác record có tổng UnitsInStock và trung bình UnitPrice lớn hơn 20. Câu 36. Trong table Employees, hãy cho biết thành phố nào có nhiều (ít) nhân viên nhất và số lượng là bao nhiêu? Câu 37. Dùng table Customers và hiển thịcác cột: CustomerID, CompanyName, Phone với điều kiện chỉhiển thị8 ký tựcuối của sốphone, đối với cột Fax thì record nào có giá trị NULL thì thay thếbằng từ UnAvailable, những record có chứa mã vùng trong cặp dấu ngoặc () thì phân thành Type 1, còn lại là Type 2. Trang 7
Câu 38. Hãy đánh giá UnitPrice của sản phẩm trong table Products theo 3 mức : Dưới 50 là: Cheap Price Từ50 đến 200 là Medium Price Trên 200 là Expensive price Nếu không có giá thì là Have no price yet. STORED PROCEDURE Câu 1. Hãy tạo Stored Procedure để lấy danh sách nhân viên trong bảng Employees gồm: EmployeeID, LastName, FirstName, Title, Birthdate, Address, City Câu 2. Tạo Stored để tìm nhân viên có FirstName là Nancy Câu 3. Tạo Stored để tìm nhân viên theo đối số truyền vào là FirstName, ví dụ: truyền vào nhân viên có FirstName là Andrew Câu 4. Truyền vào đối số cho Stored là tên thành phố (City) và cho biết số nhân viên ở thành phố đó. Ví dụ: City= London thì sẽ trả về số nhân viên thuộc thành phố đó là 4. Câu 5. Tạo Stored hiển thị danh sách nhân viên có năm sinh là số lẻ. Câu 6. Với đối số truyền vào là tháng sinh của nhân viên. Hãy tạo stored và cho biết nhân viên nào có ngày sinh nằm trong tháng đó. Trang 8
Câu 7. Tạo Stored cho phép truyền vào đối số là một số, hãy hiển thị những sản phẩm có UnitPrice nhỏ hơn số truyền vào. Ví dụ truyền vào tham số là 20 thì sẽ hiển thị những Products có UnitPrice < 10 Câu 8. Truyền vào stored là một CategoryName, hãy cho biết tổng giá trị cột UnitPrice của những sản phẩm thuộc CategoryName đó. Câu 9. Truyền vào hai số cho store và hiển thị các dữ liệu có UnitsInStock thỏa điều kiện lớn hơn số thứ nhất và nhỏ hơn số thứ hai. Câu 10. nhất. Câu 11. Câu 12. Viết stored đểtìm ra CategoryName nào có nhiều sản phẩm trong bảng Product Viết store đưa ra CategoryName nào có tổng giá trị(unitsinstock) cao nhất Viết Stored để insert một Category mới vào bảng Categories. Câu 13. Viết Stored cập nhật lại các cột CategoryName, Description trong table Categories, với điều kiện CategoryID của dữliệu đó phải tồn tại trong table. Câu 14. Truyền vào store CategoryName, kiểm tra nếu có tồn tại CategoryName đó thì tiến hành xóa record đó. Câu 15. Viết một Stored truyền vào đối sốlà FirstName của nhân viên trong bảng Employees, hãy đưa ra các thông tin của nhân viên đó bao gồm: LastName, FirstName, City và Country và nếu nhân viên đó thuộc Country là USA thì hiển thịlại là The United States of America, nếu thuộc UK hiển thịlại là The United Kingdom. --------------------------------------------------ooo---------------------------------------------------- Trang 9