Bài tập SQLServer Quản lý bán hàng và lời giải.Ngày đăng: 23102019Môn học: Cơ sở dữ liệuTrường: Đại học Công nghệ Thông tin, ĐHQG TPHCM.I. Ngôn ngữ định nghĩa dữ liệu (Data Definition Language):1. Tạo các quan hệ và khai báo các khóa chính, khóa ngoại của quan hệ.2. Thêm vào thuộc tính GHICHU có kiểu dữ liệu varchar(20) cho quan hệ SANPHAM.3. Thêm vào thuộc tính LOAIKH có kiểu dữ liệu là tinyint cho quan hệ KHACHHANG.4. Sửa kiểu dữ liệu của thuộc tính GHICHU trong quan hệ SANPHAM thành varchar(100).5. Xóa thuộc tính GHICHU trong quan hệ SANPHAM.6. Làm thế nào để thuộc tính LOAIKH trong quan hệ KHACHHANG có thể lưu các giá trị là: “Vanglai”, “Thuong xuyen”, “Vip”, …7. Đơn vị tính của sản phẩm chỉ có thể là (“cay”,”hop”,”cai”,”quyen”,”chuc”)8. Giá bán của sản phẩm từ 500 đồng trở lên.9. Mỗi lần mua hàng, khách hàng phải mua ít nhất 1 sản phẩm.10. Ngày khách hàng đăng ký là khách hàng thành viên phải lớn hơn ngày sinh của người đó.BẢNG THUỘC TÍNHQuan hệ Thuộc tính Diễn giải Kiểu dữ liệuKHACHHANGMAKH Mã khách hàng char(4)HOTEN Họ tên varchar(40)DCHI Địa chỉ varchar(50)SODT Số điện thọai varchar(20)NGSINH Ngày sinh smalldatetimeNGDK Ngày đăng ký thành viên smalldatetimeDOANHSO Tổng trị giá các hóa đơn khách hàng đã mua moneyNHANVIENMANV Mã nhân viên char(4)HOTEN Họ tên varchar(40)SODT Số điện thoại varchar(20)NGVL Ngày vào làm smalldatetimeSANPHAMMASP Mã sản phẩm char(4)TENSP Tên sản phẩm varchar(40)DVT Đơn vị tính varchar(20)NUOCSX Nước sản xuất varchar(40)GIA Giá bán moneyHOADONSOHD Số hóa đơn intNGHD Ngày mua hàng smalldatetimeMAKH Mã khách hàng nào mua char(4)MANV Nhân viên bán hàng char(4)TRIGIA Trị giá hóa đơn moneyCTHDSOHD Số hóa đơn intMASP Mã sản phẩm char(4)SL Số lượng intKhoa Hệ Thống Thông Tin Đại học Công Nghệ Thông Tin Cơ Sở Dữ Liệu Quan HệTrang 411. Ngày mua hàng (NGHD) của một khách hàng thành viên sẽ lớn hơn hoặc bằng ngày khách hàng đóđăng ký thành viên (NGDK).12. Ngày bán hàng (NGHD) của một nhân viên phải lớn hơn hoặc bằng ngày nhân viên đó vào làm.13. Mỗi một hóa đơn phải có ít nhất một chi tiết hóa đơn.14. Trị giá của một hóa đơn là tổng thành tiền (số lượngđơn giá) của các chi tiết thuộc hóa đơn đó.15. Doanh số của một khách hàng là tổng trị giá các hóa đơn mà khách hàng thành viên đó đã mua.II. Ngôn ngữ thao tác dữ liệu (Data Manipulation Language):1. Nhập dữ liệu cho các quan hệ trên.2. Tạo quan hệ SANPHAM1 chứa toàn bộ dữ liệu của quan hệ SANPHAM. Tạo quan hệKHACHHANG1 chứa toàn bộ dữ liệu của quan hệ KHACHHANG.3. Cập nhật giá tăng 5% đối với những sản phẩm do “Thai Lan” sản xuất (cho quan hệ SANPHAM1)4. Cập nhật giá giảm 5% đối với những sản phẩm do “Trung Quoc” sản xuất có giá từ 10.000 trở xuống(cho quan hệ SANPHAM1).5. Cập nhật giá trị LOAIKH là “Vip” đối với những khách hàng đăng ký thành viên trước ngày112007 có doanh số từ 10.000.000 trở lên hoặc khách hàng đăng ký thành viên từ 112007 trở vềsau có doanh số từ 2.000.000 trở lên (cho quan hệ KHACHHANG1).III. Ngôn ngữ truy vấn dữ liệu có cấu trúc:1. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc” sản xuất.2. In ra danh sách các sản phẩm (MASP, TENSP) có đơn vị tính là “cay”, ”quyen”.3. In ra danh sách các sản phẩm (MASP,TENSP) có mã sản phẩm bắt đầu là “B” và kết thúc là “01”.4. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quốc” sản xuất có giá từ 30.000 đến40.000.5. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc” hoặc “Thai Lan” sản xuất có giá từ30.000 đến 40.000.6. In ra các số hóa đơn, trị giá hóa đơn bán ra trong ngày 112007 và ngày 212007.7. In ra các số hóa đơn, trị giá hóa đơn trong tháng 12007, sắp xếp theo ngày (tăng dần) và trị giá củahóa đơn (giảm dần).8. In ra danh sách các khách hàng (MAKH, HOTEN) đã mua hàng trong ngày 112007.9. In ra số hóa đơn, trị giá các hóa đơn do nhân viên có tên “Nguyen Van B” lập trong ngày28102006.10. In ra danh sách các sản phẩm (MASP,TENSP) được khách hàng có tên “Nguyen Van A” mua trongtháng 102006.11. Tìm các số hóa đơn đã mua sản phẩm có mã số “BB01” hoặc “BB02”.12. Tìm các số hóa đơn đã mua sản phẩm có mã số “BB01” hoặc “BB02”, mỗi sản phẩm mua với sốlượng từ 10 đến 20.13. Tìm các số hóa đơn mua cùng lúc 2 sản phẩm có mã số “BB01” và “BB02”, mỗi sản phẩm mua vớisố lượng từ 10 đến 20.Khoa Hệ Thống Thông Tin Đại học Công Nghệ Thông Tin Cơ Sở Dữ Liệu Quan HệTrang 514. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc” sản xuất hoặc các sản phẩm đượcbán ra trong ngày 112007.15. In ra danh sách các sản phẩm (MASP,TENSP) không bán được.16. In ra danh sách các sản phẩm (MASP,TENSP) không bán được trong năm 2006.17. In ra danh sách các sản phẩm (MASP,TENSP) do “Trung Quoc” sản xuất không bán được trongnăm 2006.18. Tìm số hóa đơn đã mua tất cả các sản phẩm do Singapore sản xuất.19. Tìm số hóa đơn trong năm 2006 đã mua ít nhất tất cả các sản phẩm do Singapore sản xuất.20. Có bao nhiêu hóa đơn không phải của khách hàng đăng ký thành viên mua?21. Có bao nhiêu sản phẩm khác nhau được bán ra trong năm 2006.22. Cho biết trị giá hóa đơn cao nhất, thấp nhất là bao nhiêu ?23. Trị giá trung bình của tất cả các hóa đơn được bán ra trong năm 2006 là bao nhiêu?24. Tính doanh thu bán hàng trong năm 2006.25. Tìm số hóa đơn có trị giá cao nhất trong năm 2006.26. Tìm họ tên khách hàng đã mua hóa đơn có trị giá cao nhất trong năm 2006.27. In ra danh sách 3 khách hàng (MAKH, HOTEN) có doanh số cao nhất.28. In ra danh sách các sản phẩm (MASP, TENSP) có giá bán bằng 1 trong 3 mức giá cao nhất.29. In ra danh sách các sản phẩm (MASP, TENSP) do “Thai Lan” sản xuất có giá bằng 1 trong 3 mứcgiá cao nhất (của tất cả các sản phẩm).30. In ra danh sách các sản phẩm (MASP, TENSP) do “Trung Quoc” sản xuất có giá bằng 1 trong 3 mứcgiá cao nhất (của sản phẩm do “Trung Quoc” sản xuất).31. In ra danh sách 3 khách hàng có doanh số cao nhất (sắp xếp theo kiểu xếp hạng).32. Tính tổng số sản phẩm do “Trung Quoc” sản xuất.33. Tính tổng số sản phẩm của từng nước sản xuất.34. Với từng nước sản xuất, tìm giá bán cao nhất, thấp nhất, trung bình của các sản phẩm.35. Tính doanh thu bán hàng mỗi ngày.36. Tính tổng số lượng của từng sản phẩm bán ra trong tháng 102006.37. Tính doanh thu bán hàng của từng tháng trong năm 2006.38. Tìm hóa đơn có mua ít nhất 4 sản phẩm khác nhau.39. Tìm hóa đơn có mua 3 sản phẩm do “Viet Nam” sản xuất (3 sản phẩm khác nhau).40. Tìm khách hàng (MAKH, HOTEN) có số lần mua hàng nhiều nhất.41. Tháng mấy trong năm 2006, doanh số bán hàng cao nhất ?42. Tìm sản phẩm (MASP, TENSP) có tổng số lượng bán ra thấp nhất trong năm 2006.43. Mỗi nước sản xuất, tìm sản phẩm (MASP,TENSP) có giá bán cao nhất.44. Tìm nước sản xuất sản xuất ít nhất 3 sản phẩm có giá bán khác nhau.45. Trong 10 khách hàng có doanh số cao nhất, tìm khách hàng có số lần mua hàng nhiều nhất
BÀI TẬP SQL SERVER VÀ LỜI GIẢI QUẢN LÝ BÁN HÀNG Bài tập 1: Cơ sở liệu quản lý bán hàng gồm có quan hệ sau: KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) Tân từ: Quan hệ khách hàng lưu trữ thông tin khách hàng thành viên gồm có thuộc tính: mã khách hàng, họ tên, địa chỉ, số điện thoại, ngày sinh, ngày đăng ký doanh số (tổng trị giá hóa đơn khách hàng thành viên này) NHANVIEN (MANV,HOTEN, NGVL, SODT) Tân từ: Mỗi nhân viên bán hàng cần ghi nhận họ tên, ngày vào làm, điện thọai liên lạc, nhân viên phân biệt với mã nhân viên SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA) Tân từ: Mỗi sản phẩm có mã số, tên gọi, đơn vị tính, nước sản xuất giá bán HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) Tân từ: Khi mua hàng, khách hàng nhận hóa đơn tính tiền, có số hóa đơn, ngày mua, nhân viên bán hàng, trị giá hóa đơn mã số khách hàng khách hàng thành viên CTHD (SOHD,MASP,SL) Tân từ: Diễn giải chi tiết hóa đơn gồm có sản phẩm với số lượng (sơ đồ thể mối quan hệ bảng) NHANVIEN MANV HOTEN DTHOAI NGVL NV01 Nguyen Nhu Nhut 0927345678 13/4/2006 NV02 Le Thi Phi Yen 0987567390 21/4/2006 NV03 Nguyen Van B 0997047382 27/4/2006 NV04 Ngo Thanh Tuan 0913758498 24/6/2006 NV05 Nguyen Thi Truc Thanh 0918590387 20/7/2006 KHACHHANG MAKH HOTEN DCHI SODT NGSINH DOANHSO NGDK KH01 Nguyen Van A 731 Tran Hung Dao, Q5, TpHCM 08823451 22/10/1960 13,060,000 22/07/2006 KH02 Tran Ngoc Han 23/5 Nguyen Trai, Q5, TpHCM 0908256478 3/4/1974 280,000 30/07/2006 KH03 Tran Ngoc Linh 45 Nguyen Canh Chan, Q1, TpHCM 0938776266 12/6/1980 3,860,000 05/08/2006 KH04 Tran Minh Long 50/34 Le Dai Hanh, Q10, TpHCM 0917325476 9/3/1965 250,000 02/10/2006 KH05 Le Nhat Minh 34 Truong Dinh, Q3, TpHCM 08246108 10/3/1950 21,000 28/10/2006 KH06 Le Hoai Thuong 227 Nguyen Van Cu, Q5, TpHCM 08631738 31/12/1981 915,000 24/11/2006 KH07 Nguyen Van Tam 32/3 Tran Binh Trong, Q5, TpHCM 0916783565 6/4/1971 12,500 01/12/2006 KH08 Phan Thi Thanh 45/2 An Duong Vuong, Q5, TpHCM 0938435756 10/1/1971 365,000 13/12/2006 KH09 Le Ha Vinh 873 Le Hong Phong, Q5, TpHCM 08654763 3/9/1979 70,000 14/01/2007 KH10 Ha Duy Lap 34/34B Nguyen Trai, Q1, TpHCM 08768904 2/5/1983 67,500 16/01/2007 SANPHAM HOADON MASP BC01 TENSP DVT But chi cay NUOCSX Singapore GIA SOHD NGHD MAKH MANV TRIGIA 3,000 1001 23/07/2006 KH01 NV01 320,000 12/08/2006 KH01 NV02 840,000 BC02 But chi cay Singapore 5,000 1002 BC03 But chi cay Viet Nam 3,500 1003 23/08/2006 KH02 NV01 100,000 01/09/2006 KH02 NV01 180,000 BC04 But chi hop Viet Nam 30,000 1004 BB01 But bi cay Viet Nam 5,000 1005 20/10/2006 KH01 NV02 3,800,000 7,000 1006 16/10/2006 KH01 NV03 2,430,000 100,000 1007 28/10/2006 KH03 NV03 510,000 28/10/2006 KH01 NV03 440,000 BB02 But bi cay Trung Quoc BB03 But bi hop Thai Lan TV01 Tap 100 giay mong quyen Trung Quoc 2,500 1008 TV02 Tap 200 giay mong quyen Trung Quoc 4,500 1009 28/10/2006 KH03 NV04 200,000 TV03 Tap 100 giay tot quyen Viet Nam 3,000 1010 01/11/2006 KH01 NV01 5,200,000 TV04 Tap 200 giay tot quyen Viet Nam 5,500 1011 04/11/2006 KH04 NV03 250,000 TV05 Tap 100 trang chuc Viet Nam 23,000 1012 30/11/2006 KH05 NV03 21,000 TV06 Tap 200 trang chuc Viet Nam 53,000 1013 12/12/2006 KH06 NV01 5,000 TV07 Tap 100 trang chuc Trung Quoc 34,000 1014 31/12/2006 KH03 NV02 3,150,000 ST01 So tay 500 trang quyen Trung Quoc 40,000 1015 01/01/2007 KH06 NV01 910,000 ST02 So tay loai quyen Viet Nam 55,000 1016 01/01/2007 KH07 NV02 12,500 02/01/2007 KH08 NV03 35,000 ST03 So tay loai quyen Viet Nam 51,000 1017 ST04 So tay quyen Thai Lan 55,000 1018 13/01/2007 KH08 NV03 330,000 13/01/2007 KH01 NV03 30,000 ST05 So tay mong quyen Thai Lan 20,000 1019 ST06 Phan viet bang hop Viet Nam 5,000 1020 14/01/2007 KH09 NV04 70,000 16/01/2007 KH10 NV03 67,500 ST07 Phan khong bui hop Viet Nam 7,000 1021 ST08 Bong bang cai Viet Nam 1,000 1022 16/01/2007 Null NV03 7,000 ST09 But long cay Viet Nam 5,000 1023 17/01/2007 Null NV01 330,000 ST10 But long cay Trung Quoc 7,000 MASP BB01 BB02 BB03 TV01 TV02 TV03 TV04 ST04 ST05 ST06 ST07 ST08 TV01 TV02 ST07 SL 50 30 1 10 10 CTHD SOHD 1001 1001 1001 1001 1001 1002 1002 1002 1003 1004 1004 1004 1004 1005 1005 1006 MASP TV02 ST01 BC01 BC02 ST08 BC04 BB01 BB02 BB03 TV01 TV02 TV03 TV04 TV05 TV06 TV07 CTHD SL 10 5 10 10 20 20 20 10 20 10 10 10 50 50 20 SOHD 1006 1006 1007 1008 1009 1010 1010 1010 1010 1010 1011 1012 1013 1014 1014 1014 MASP ST01 ST02 ST03 ST04 ST05 TV07 ST07 ST08 ST04 TV03 ST06 ST07 ST08 BC02 BB02 BC04 CTHD SL 30 10 10 10 50 50 100 50 100 50 80 100 60 SOHD 1014 1015 1015 1016 1017 1017 1017 1018 1019 1019 1020 1021 1021 1021 1022 1023 ST04 BẢNG THUỘC TÍNH Quan hệ Thuộc tính Diễn giải Kiểu liệu MAKH HOTEN DCHI SODT NGSINH NGDK DOANHSO Mã khách hàng Họ tên Địa Số điện thọai Ngày sinh Ngày đăng ký thành viên Tổng trị giá hóa đơn khách hàng mua char(4) varchar(40) varchar(50) varchar(20) smalldatetime smalldatetime money NHANVIEN MANV HOTEN SODT NGVL Mã nhân viên Họ tên Số điện thoại Ngày vào làm char(4) varchar(40) varchar(20) smalldatetime SANPHAM MASP TENSP DVT NUOCSX GIA Mã sản phẩm Tên sản phẩm Đơn vị tính Nước sản xuất Giá bán char(4) varchar(40) varchar(20) varchar(40) money HOADON SOHD NGHD MAKH MANV TRIGIA Số hóa đơn Ngày mua hàng Mã khách hàng mua Nhân viên bán hàng Trị giá hóa đơn int smalldatetime char(4) char(4) money CTHD SOHD MASP SL Số hóa đơn Mã sản phẩm Số lượng int char(4) int KHACHHANG I Ngôn ngữ định nghĩa liệu (Data Definition Language): Tạo quan hệ khai báo khóa chính, khóa ngoại quan hệ Thêm vào thuộc tính GHICHU có kiểu liệu varchar(20) cho quan hệ SANPHAM Thêm vào thuộc tính LOAIKH có kiểu liệu tinyint cho quan hệ KHACHHANG Sửa kiểu liệu thuộc tính GHICHU quan hệ SANPHAM thành varchar(100) Xóa thuộc tính GHICHU quan hệ SANPHAM Làm để thuộc tính LOAIKH quan hệ KHACHHANG lưu giá trị là: “Vang lai”, “Thuong xuyen”, “Vip”, … Đơn vị tính sản phẩm (“cay”,”hop”,”cai”,”quyen”,”chuc”) Giá bán sản phẩm từ 500 đồng trở lên Mỗi lần mua hàng, khách hàng phải mua sản phẩm 10 Ngày khách hàng đăng ký khách hàng thành viên phải lớn ngày sinh người 11 Ngày mua hàng (NGHD) khách hàng thành viên lớn ngày khách hàng đăng ký thành viên (NGDK) 12 Ngày bán hàng (NGHD) nhân viên phải lớn ngày nhân viên vào làm 13 Mỗi hóa đơn phải có chi tiết hóa đơn 14 Trị giá hóa đơn tổng thành tiền (số lượng*đơn giá) chi tiết thuộc hóa đơn 15 Doanh số khách hàng tổng trị giá hóa đơn mà khách hàng thành viên mua II Ngơn ngữ thao tác liệu (Data Manipulation Language): Nhập liệu cho quan hệ Tạo quan hệ SANPHAM1 chứa toàn liệu quan hệ SANPHAM Tạo quan hệ KHACHHANG1 chứa toàn liệu quan hệ KHACHHANG Cập nhật giá tăng 5% sản phẩm “Thai Lan” sản xuất (cho quan hệ SANPHAM1) Cập nhật giá giảm 5% sản phẩm “Trung Quoc” sản xuất có giá từ 10.000 trở xuống (cho quan hệ SANPHAM1) Cập nhật giá trị LOAIKH “Vip” khách hàng đăng ký thành viên trước ngày 1/1/2007 có doanh số từ 10.000.000 trở lên khách hàng đăng ký thành viên từ 1/1/2007 trở sau có doanh số từ 2.000.000 trở lên (cho quan hệ KHACHHANG1) III Ngơn ngữ truy vấn liệu có cấu trúc: In danh sách sản phẩm (MASP,TENSP) “Trung Quoc” sản xuất In danh sách sản phẩm (MASP, TENSP) có đơn vị tính “cay”, ”quyen” In danh sách sản phẩm (MASP,TENSP) có mã sản phẩm bắt đầu “B” kết thúc “01” In danh sách sản phẩm (MASP,TENSP) “Trung Quốc” sản xuất có giá từ 30.000 đến 40.000 In danh sách sản phẩm (MASP,TENSP) “Trung Quoc” “Thai Lan” sản xuất có giá từ 30.000 đến 40.000 In số hóa đơn, trị giá hóa đơn bán ngày 1/1/2007 ngày 2/1/2007 In số hóa đơn, trị giá hóa đơn tháng 1/2007, xếp theo ngày (tăng dần) trị giá hóa đơn (giảm dần) In danh sách khách hàng (MAKH, HOTEN) mua hàng ngày 1/1/2007 In số hóa đơn, trị giá hóa đơn nhân viên có tên “Nguyen Van B” lập ngày 28/10/2006 10 In danh sách sản phẩm (MASP,TENSP) khách hàng có tên “Nguyen Van A” mua tháng 10/2006 11 Tìm số hóa đơn mua sản phẩm có mã số “BB01” “BB02” 12 Tìm số hóa đơn mua sản phẩm có mã số “BB01” “BB02”, sản phẩm mua với số lượng từ 10 đến 20 13 Tìm số hóa đơn mua lúc sản phẩm có mã số “BB01” “BB02”, sản phẩm mua với số lượng từ 10 đến 20 14 In danh sách sản phẩm (MASP,TENSP) “Trung Quoc” sản xuất sản phẩm bán ngày 1/1/2007 15 In danh sách sản phẩm (MASP,TENSP) không bán 16 In danh sách sản phẩm (MASP,TENSP) không bán năm 2006 17 In danh sách sản phẩm (MASP,TENSP) “Trung Quoc” sản xuất không bán năm 2006 18 Tìm số hóa đơn mua tất sản phẩm Singapore sản xuất 19 Tìm số hóa đơn năm 2006 mua tất sản phẩm Singapore sản xuất 20 Có hóa đơn khơng phải khách hàng đăng ký thành viên mua? 21 Có sản phẩm khác bán năm 2006 22 Cho biết trị giá hóa đơn cao nhất, thấp ? 23 Trị giá trung bình tất hóa đơn bán năm 2006 bao nhiêu? 24 Tính doanh thu bán hàng năm 2006 25 Tìm số hóa đơn có trị giá cao năm 2006 26 Tìm họ tên khách hàng mua hóa đơn có trị giá cao năm 2006 27 In danh sách khách hàng (MAKH, HOTEN) có doanh số cao 28 In danh sách sản phẩm (MASP, TENSP) có giá bán mức giá cao 29 In danh sách sản phẩm (MASP, TENSP) “Thai Lan” sản xuất có giá mức giá cao (của tất sản phẩm) 30 In danh sách sản phẩm (MASP, TENSP) “Trung Quoc” sản xuất có giá mức giá cao (của sản phẩm “Trung Quoc” sản xuất) 31 * In danh sách khách hàng có doanh số cao (sắp xếp theo kiểu xếp hạng) 32 Tính tổng số sản phẩm “Trung Quoc” sản xuất 33 Tính tổng số sản phẩm nước sản xuất 34 Với nước sản xuất, tìm giá bán cao nhất, thấp nhất, trung bình sản phẩm 35 Tính doanh thu bán hàng ngày 36 Tính tổng số lượng sản phẩm bán tháng 10/2006 37 Tính doanh thu bán hàng tháng năm 2006 38 Tìm hóa đơn có mua sản phẩm khác 39 Tìm hóa đơn có mua sản phẩm “Viet Nam” sản xuất (3 sản phẩm khác nhau) 40 Tìm khách hàng (MAKH, HOTEN) có số lần mua hàng nhiều 41 Tháng năm 2006, doanh số bán hàng cao ? 42 Tìm sản phẩm (MASP, TENSP) có tổng số lượng bán thấp năm 2006 43 *Mỗi nước sản xuất, tìm sản phẩm (MASP,TENSP) có giá bán cao 44 Tìm nước sản xuất sản xuất sản phẩm có giá bán khác 45 *Trong 10 khách hàng có doanh số cao nhất, tìm khách hàng có số lần mua hàng nhiều Giải tập 1: USE master DROP DATABASE QLBH CREATE DATABASE QLBH GO USE QLBH /*PHAN 1*/ /*cau 1*/ CREATE TABLE KHACHHANG( MAKH CHAR(4), HOTEN VARCHAR(40), DCHI VARCHAR(50), SODT VARCHAR(20), NGSINH SMALLDATETIME, NGDK SMALLDATETIME, DOANHSO MONEY, PRIMARY KEY(MAKH) ) GO CREATE TABLE NHANVIEN( MANV CHAR(4), HOTEN VARCHAR(40), SODT VARCHAR(20), NGVL SMALLDATETIME, PRIMARY KEY (MANV) ) GO CREATE TABLE SANPHAM( MASP CHAR(4), TENSP VARCHAR(40), DVT VARCHAR(40), NUOCSX VARCHAR(40), GIA MONEY, PRIMARY KEY (MASP) ) GO CREATE TABLE HOADON( SOHD INT, NGHD SMALLDATETIME, MAKH CHAR(4), MANV CHAR(4), TRIGIA MONEY, PRIMARY KEY (SOHD) ) GO CREATE TABLE CTHD( SOHD INT, MASP CHAR(4), SL INT, PRIMARY KEY (SOHD, MASP) ) ALTER TABLE HOADON ADD CONSTRAINT FK_HD_KH FOREIGN KEY (MAKH) REFERENCES KHACHHANG(MAKH) ALTER TABLE HOADON ADD CONSTRAINT FK_HD_NV FOREIGN KEY (MANV) REFERENCES NHANVIEN(MANV) ALTER TABLE CTHD ADD CONSTRAINT FK_CTHD_HD FOREIGN KEY (SOHD) REFERENCES HOADON(SOHD) ALTER TABLE CTHD ADD CONSTRAINT FK_CTHD_SP FOREIGN KEY (MASP) REFERENCES SANPHAM(MASP) /*cau 2*/ ALTER TABLE SANPHAM ADD GHICHU VARCHAR(20) GO /*cau 3*/ ALTER TABLE KHACHHANG ADD LOAIKH TINYINT /*cau 4*/ ALTER TABLE SANPHAM ALTER COLUMN GHICHU VARCHAR(100) GO /*cau 5*/ ALTER TABLE SANPHAM DROP COLUMN GHICHU GO /*cau 6*/ ALTER TABLE KHACHHANG ALTER COLUMN LOAIKH VARCHAR(50) /*cau 7*/ ALTER TABLE SANPHAM ADD CONSTRAINT CHK_DVT CHECK(DVT IN ('cay', 'hop', 'quyen', 'chuc', 'cai')) GO /*cau 8*/ ALTER TABLE SANPHAM ADD CONSTRAINT CK_GIA CHECK(GIA >=500) GO /*cau 9*/ ALTER TABLE CTHD ADD CONSTRAINT CK_CTHD CHECK(SL >=1) GO /* cau 10 */ ALTER TABLE KHACHHANG ADD CONSTRAINT CK_NGAYDK CHECK (NGDK > NGSINH) /*PHAN 2*/ /*CAU 1*/ SET DATEFORMAT dmy; INSERT INTO NHANVIEN (MANV, HOTEN, SODT, NGVL) VALUES ('NV01', 'Nguyen Nhu Nhut', '0927345678', '13/4/2006') INSERT INTO NHANVIEN (MANV, HOTEN, SODT, NGVL) VALUES ('NV02', 'Le Thi Phi Yen', '0987567390', '21/4/2006') INSERT INTO NHANVIEN (MANV, HOTEN, SODT, NGVL) VALUES ('NV03', 'Nguyen Van B', '0997047382', '27/4/2006') INSERT INTO NHANVIEN (MANV, HOTEN, SODT, NGVL) VALUES ('NV04', 'Ngo Thanh Tuan', '0913758498', '24/6/2006') INSERT INTO NHANVIEN (MANV, HOTEN, SODT, NGVL) VALUES ('NV05', 'Nguyen Thi Truc Thanh', '0918590387', '20/7/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH01', 'Nguyen Van A', '731, Tran Hung Dao, Q5, TPHCM', '08823451', '22/10/1960', 13060000, '22/07/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH02', 'Tran Ngoc Han', '23/5 Nguyen Trai, Q5, TpHCM', '0908256478', '03/04/1974', 280000, '30/07/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH03', 'Tran Ngoc Linh', '45 Nguyen Canh Chan, Q1, TpHCM', '0938776266', '12/06/1980', 3860000, '05/08/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH04', 'Tran Minh Long', '50/34 Le Dai hanh, Q10, TpHCM', '0917325476', '09/03/1965', 250000, '02/10/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH05', 'Le Nhat Minh', '34 Truong Dinh, Q3, TPHCM', '08246108', '10/03/1960', 21000, '28/10/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH06', 'Le Hoai Thuong', '227 Nguyen Van Cu, Q5, TpHCM', '08631738', '31/12/1981', 915000, '24/11/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH07', 'Nguyen Van Tam', '32/3 Tran Binh Trong, Q5, TpHCM', '0916783565', '06/04/1971', 12500, '01/12/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH08', 'Phan Thi Thanh', '45/2 An Duong Vuong, Q5, TPHCM', '0938435756', '10/01/1971', 365000, '13/12/2006') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH09', 'Le Ha Vinh', '873 Le Hong Phong, Q5, TPHCM', '08654763', '03/09/1979', 70000, '14/01/2007') INSERT INTO KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK) VALUES ('KH10', 'Ha Duy Lap', '34/34B Nguyen Trai, Q1, TPHCM', '08768904', '02/05/1963', 67500, '16/01/2007') INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BC01', 'But Chi', 'cay', 'Singapore', 3000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BC02', 'But Chi', 'cay', 'Singapore', 5000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BC03', 'But Chi', 'cay', 'Viet Nam', 3500) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BC04', 'But Chi', 'hop', 'Viet Nam', 30000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BB01', 'But bi', 'cay', 'Viet Nam', 5000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BB02', 'But bi', 'cay', 'Trung Quoc', 7000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('BB03', 'But bi', 'hop', 'Thai Lan', 100000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV01', 'Tap 100 giay mong', 'quyen', 'Trung Quoc', 2500) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV02', 'Tap 200 giay mong', 'quyen', 'Trung Quoc', 4500) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV03', 'Tap 100 giay tot', 'quyen', 'Viet Nam', 3000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV04', 'Tap 200 giay tot', 'quyen', 'Viet Nam', 5500) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV05', 'Tap 100 trang', 'chuc', 'Viet Nam', 23000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV06', 'Tap 200 trang', 'chuc', 'Viet Nam', 53000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('TV07', 'Tap 100 trang', 'chuc', 'Trung Quoc', 34000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST01', 'So tay 500 trang', 'quyen', 'Trung Quoc', 40000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST02', 'So tay loai 1', 'quyen', 'Viet Nam', 55000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST03', 'So tay loai 2', 'quyen', 'Viet Nam', 51000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST04', 'So tay', 'quyen', 'Thai Lan', 55000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST05', 'So tay mong', 'quyen', 'Thai Lan', 20000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST06', 'Phan viet bang', 'hop', 'Viet Nam', 5000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST07', 'Phan khong bui', 'hop', 'Viet Nam', 5000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST08', 'Bong bang', 'cai', 'Viet Nam', 1000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST09', 'But long', 'cay', 'Viet Nam', 5000) INSERT INTO SANPHAM (MASP, TENSP, DVT, NUOCSX, GIA) VALUES ('ST10', 'But long', 'cay', 'Trung Quoc', 7000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1001, '23/07/2006', 'KH01', 'NV01', 320000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1002, '12/08/2006', 'KH01', 'NV02', 840000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1003, '23/06/2006', 'KH02', 'NV01', 100000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1004, '01/09/2006', 'KH02', 'NV01', 180000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1005, '20/10/2006', 'KH01', 'NV02', 3800000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1006, '16/10/2006', 'KH01', 'NV03', 2430000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1007, '28/10/2006', 'KH03', 'NV03', 510000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1008, '28/10/2006', 'KH01', 'NV03', 440000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1009, '28/10/2006', 'KH03', 'NV04', 320000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1010, '01/11/2006', 'KH01', 'NV01', 5200000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1011, '04/11/2006', 'KH04', 'NV03', 250000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1012, '30/11/2006', 'KH05', 'NV03', 21000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1013, '12/12/2006', 'KH06', 'NV01', 5000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1014, '31/12/2006', 'KH03', 'NV02', 3150000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1015, '01/01/2007', 'KH06', 'NV01', 910000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1016, '01/01/2007', 'KH07', 'NV02', 12500) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1017, '02/01/2007', 'KH08', 'NV03', 35000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1018, '13/01/2007', 'KH08', 'NV03', 330000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1019, '13/01/2007', 'KH01', 'NV03', 30000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1020, '14/01/2007', 'KH09', 'NV04', 70000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1021, '16/01/2007', 'KH10', 'NV04', 67500) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1022, '16/01/2007', Null, 'NV03', 7000) INSERT INTO HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA) VALUES (1023, '17/01/2007', Null, 'NV01', 330000) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'TV02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'ST01', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'BC01', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'BC02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'ST08', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1002, 'BC04', 20) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1002, 'BB01', 20) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1002, 'BB02', 20) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1003, 'BB03', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1004, 'TV01', 20) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1004, 'TV02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1004, 'TV03', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1004, 'TV04', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1005, 'TV05', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1005, 'TV06', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1001, 'TV07', 20) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1006, 'ST01', 30) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1006, 'ST02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1007, 'ST03', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1008, 'ST04', 8) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1009, 'ST05', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1010, 'TV07', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1010, 'ST07', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1010, 'ST08', 100) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1010, 'ST04', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1010, 'TV03', 100) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1011, 'ST06', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1012, 'ST07', 3) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1013, 'ST08', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1014, 'BC02', 80) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1014, 'BB02', 100) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1014, 'BC04', 60) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1014, 'BB01', 50) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1015, 'BB02', 30) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1015, 'BB03', 7) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1016, 'TV01', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1017, 'TV02', 1) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1017, 'TV03', 1) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1017, 'TV04', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1018, 'ST04', 6) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1019, 'ST05', 1) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1019, 'ST06', 2) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1020, 'ST07', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1021, 'ST08', 5) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1021, 'TV01', 7) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1021, 'TV02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1022, 'TV02', 10) INSERT INTO CTHD (SOHD, MASP, SL) VALUES (1023, 'ST04', 6) /*CAU 2*/ chep SANPHAM1 tu SANPHAM SELECT * INTO SANPHAM1 FROM SANPHAM SELECT * INTO KHACHHANG1 FROM KHACHHANG /*CAU 3*/ Cap nhat gia cho hang Thai Lan UPDATE SANPHAM1 SET GIA = GIA * 1.05 WHERE NUOCSX = 'Thai Lan' /*Cau 4*/ Cap nhat gia cho hang Thai Lan UPDATE SANPHAM1 SET GIA = GIA * 0.95 WHERE NUOCSX = 'Trung Quoc' AND GIA < 10000 /*Cau 5*/ UPDATE KHACHHANG1 SET LOAIKH = 'Vip' WHERE (NGDK < '20070101' AND DOANHSO > 1000000) OR (NGDK >= '20070101' AND DOANHSO > 2000000) /*PHAN 3*/ /*Cau 1: In danh sách sản phẩm (MASP,TENSP) “Trung Quoc” sản xuất.*/ SELECT MASP, TENSP FROM SANPHAM WHERE NUOCSX = 'Trung Quoc' /*Cau 2: In danh sách sản phẩm (MASP, TENSP) có đơn vị tính “cay”, ”quyen”.*/ SELECT MASP, TENSP FROM SANPHAM WHERE DVT = 'cay' OR DVT = 'quyen' /*Cau 3: In danh sách sản phẩm (MASP,TENSP) có mã sản phẩm bắt đầu “B” kết thúc “01”.*/ SELECT MASP, TENSP FROM SANPHAM WHERE SUBSTRING(MASP, 1, 1) = 'B' AND SUBSTRING(MASP, 3, 4) = '01' /*Cau 4: In danh sách sản phẩm (MASP,TENSP) “Trung Quốc” sản xuất có giá từ 30.000 đến 40.000.*/ SELECT MASP, TENSP FROM SANPHAM WHERE NUOCSX = 'Trung Quoc' AND (GIA >= 30000 AND GIA = 30000 AND GIA = '20070101' AND NGHD = '20070101' AND NGHD = '20061001' AND HOADON.NGHD = 10 AND CTHD.SL = 10 AND A.SL = 10 AND B.SL = '20060101' AND HOADON.NGHD = '20060101' AND HOADON.NGHD = '20061001' AND NGHD < '20061101' GROUP BY MASP */ /*Cau 37: Tính doanh thu bán hàng tháng năm 2006.*/ /* SELECT MONTH(NGHD) AS AA, SUM(TRIGIA) FROM HOADON WHERE YEAR(NGHD) = 2006 GROUP BY MONTH(NGHD) */ /*Cau 38: Tìm hóa đơn có mua sản phẩm khác nhau.*/ /* SELECT HOADON.SOHD FROM HOADON INNER JOIN CTHD ON HOADON.SOHD = CTHD.SOHD GROUP BY HOADON.SOHD HAVING COUNT(*) >= */ /*Cau 39: Tìm hóa đơn có mua sản phẩm “Viet Nam” sản xuất (3 sản phẩm khác nhau).*/ /* SELECT SOHD FROM CTHD INNER JOIN SANPHAM ON CTHD.MASP = SANPHAM.MASP WHERE NUOCSX = 'Viet Nam' GROUP BY SOHD HAVING COUNT(*) >= */ /*Cau 40: Tìm khách hàng (MAKH, HOTEN) có số lần mua hàng nhiều nhất.*/ /* SELECT TOP KHACHHANG.MAKH, HOTEN FROM KHACHHANG INNER JOIN HOADON ON HOADON.MAKH = KHACHHANG.MAKH GROUP BY KHACHHANG.MAKH, KHACHHANG.HOTEN ORDER BY COUNT(DISTINCT SOHD) DESC */ /*Cau 40: Tìm khách hàng (MAKH, HOTEN) có số lần mua hàng nhiều nhất.*/ /* SELECT TOP KHACHHANG.MAKH, HOTEN FROM KHACHHANG INNER JOIN HOADON ON HOADON.MAKH = KHACHHANG.MAKH GROUP BY KHACHHANG.MAKH, KHACHHANG.HOTEN ORDER BY COUNT(DISTINCT SOHD) DESC */ /*Cau 41: Tháng năm 2006, doanh số bán hàng cao ?*/ /* SELECT TOP MONTH(NGHD), SUM(TRIGIA) FROM HOADON WHERE YEAR(NGHD) = 2006 GROUP BY MONTH(NGHD) ORDER BY SUM(TRIGIA) DESC */ /*Cau 42: Tìm sản phẩm (MASP, TENSP) có tổng số lượng bán thấp năm 2006.*/ /* SELECT TOP SANPHAM.MASP, SANPHAM.TENSP FROM CTHD INNER JOIN SANPHAM ON CTHD.MASP = SANPHAM.MASP INNER JOIN HOADON ON CTHD.SOHD = HOADON.SOHD WHERE YEAR(NGHD) = 2006 GROUP BY SANPHAM.MASP, SANPHAM.TENSP ORDER BY SUM(SL) ASC */ /*Cau 43: Mỗi nước sản xuất, tìm sản phẩm (MASP,TENSP) có giá bán cao nhất.*/ /* DROP TABLE #CAU43 SELECT NUOCSX, MAX(GIA) GIATOIDA INTO #CAU43 FROM SANPHAM S GROUP BY NUOCSX SELECT #CAU43.NUOCSX, MASP, TENSP FROM #CAU43 INNER JOIN SANPHAM ON #CAU43.GIATOIDA = SANPHAM.GIA WHERE #CAU43.NUOCSX = SANPHAM.NUOCSX */ /*Cau 44: Tìm nước sản xuất sản xuất sản phẩm có giá bán khác nhau.*/ /* SELECT NUOCSX, COUNT(DISTINCT GIA) FROM SANPHAM GROUP BY NUOCSX HAVING COUNT(DISTINCT GIA) >= */ /*Cau 45: *Trong 10 khách hàng có doanh số cao nhất, tìm khách hàng có số lần mua hàng nhiều nhất.*/ /* DROP TABLE #Cau45A DROP TABLE #Cau45B SELECT MAKH, COUNT(MAKH) SOLANMUAHANG INTO #Cau45A FROM HOADON WHERE MAKH IS NOT NULL GROUP BY MAKH ORDER BY SOLANMUAHANG DESC SELECT TOP 10 MAKH, DOANHSO INTO #Cau45B FROM KHACHHANG ORDER BY DOANHSO DESC SELECT TOP #Cau45A.MAKH FROM #Cau45A INNER JOIN #Cau45B ON #Cau45A.MAKH = #Cau45B.MAKH */