Lập Trình ASP.NET 4.0 & C# 2010
Trang 1
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
Lập Trình ASP.NET 4.0 & C# 2010
Trang 2
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.’.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 3
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’.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 4
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’.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 5
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. Trong table Customers hãy cho biết có bao nhiêu customers không có số fax
Câu 24. Tìm trong table Customers những CompanyName có chiều dài dưới 10 ký tự
Câu 25. 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.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 6
Câu 27. Tính giá trị trung bình của cột UnitPrice trong table Order Details
Câu 28. 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’.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 7
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’.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 8
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 đó.
Lập Trình ASP.NET 4.0 & C# 2010
Trang 9
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. Viết stored đểtìm ra CategoryName nào có nhiều sản phẩm trong bảng Product
nhất.
Câu 11. Viết store đưa ra CategoryName nào có tổng giá trị(UnitsInStock) cao nhất
Câu 12. 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----------------------------------------------------