Bai tap ve SQL server (co giai chi tiet)

17 22.7K 103
Bai tap ve SQL server (co giai chi tiet)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MÔ HÌNH QUẢN LÝ BÁN HÀNG VÀ CÁC CÂU LỆNH SQL TABLE KHÁCH HÀNG LÀ CÔNG TY CỦA KHÁCH HÀNG Cho cơ sở dữ diệu sau được sử dụng để quản lý công tác giao hàng trong một công ty kinh doanh. trong dó: • Bảng NHACUNGCAP lưu trữ dữ liệu về các đối tác cung cấp hàng cho công ty. • Bảng MATHANG lưu trữ dữ liệu về các mặt hàng hiện có trong công ty. • Bảng LOAIHANG phân loại các mặt hàng hiện có. • Bảng NHANVIEN có dữ liệu là các thông tin về nhân viên làm việc trong công ty • Bảng KHACHHANG được sử dụng để lưu trữ các thông tin về khách hàng của công ty. • Khách hàng đặt hàng cho công ty thông qua các đơn đặt hàng. Thông tin chung về các đơn đặt hàng được lưu trữ trong bảng DONDATHANG (Mỗi một đơn đặt hàng phải do một nhân viên của công ty lập và do đó bảng này có quan hệ với bảng NHANVIEN) • Thông tin chi tiết của các đơn đặt hàng (đặt mua mặt hàng gì, số lượng, giá cả,…) được lưu trữ trong bảng CHITIETDATHANG, bảng này có quan hệ với hai bảng DONDATHANG và MAHANG. *CÂU LỆNH SQL ĐỂ TẠO BẢNG VÀ NHẬP DỮ LIỆU: CREATE DATABASE QLBH CREATE TABLE KHACHHANG ( MaKhachHang INT CONSTRAINT PK_KHACHHANG_MaKhachHang PRIMARY KEY, TenCongTy NVARCHAR(50), TenGiaoDich NVARCHAR(20), DiaChi NVARCHAR(50), Email VARCHAR(30), DienThoai VARCHAR(15), Fax VARCHAR(15), ) CREATE TABLE NHACUNGCAP ( MaCongTy CHAR(3) CONSTRAINT PK_NHACUNGCAP_MaCongTy PRIMARY KEY(MaCongTy), TenCongTy NVARCHAR(50), TenGiaoDich NVARCHAR(20), DiaChi NVARCHAR(50), DienThoai VARCHAR(15), Fax VARCHAR(15), Email VARCHAR(30), ) CREATE TABLE LOAIHANG ( MaLoaiHang CHAR(2) CONSTRAINT PK_LOAIHANG_MaLoaiHang PRIMARY KEY(MaLoaiHang), TenLoaiHang NVARCHAR(30), ) CREATE TABLE MATHANG ( MaHang CHAR(4) CONSTRAINT PK_MATHANG_MaHang PRIMARY KEY(MaHang), TenHang NVARCHAR(30), MaCongTy CHAR(3), MaLoaiHang CHAR(2), SoLuong INT, DonViTinh NVARCHAR(10), GiaHang NUMERIC(10,2), CONSTRAINT FK_MATHANG_MaLoaiHang FOREIGN KEY(MaLoaiHang) REFERENCES LOAIHANG(MaLoaiHang) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_MATHANG_MaCongTy FOREIGN KEY(MaCongTy) REFERENCES NHACUNGCAP(MaCongTy) ON DELETE CASCADE ON UPDATE CASCADE, )

MÔ HÌNH QUẢN LÝ BÁN HÀNG VÀ CÁC CÂU LỆNH SQL TABLE KHÁCH HÀNG LÀ CÔNG TY CỦA KHÁCH HÀNG Cho cơ sở dữ diệu sau được sử dụng để quản lý công tác giao hàng trong một công ty kinh doanh. trong dó: • Bảng NHACUNGCAP lưu trữ dữ liệu về các đối tác cung cấp hàng cho công ty. • Bảng MATHANG lưu trữ dữ liệu về các mặt hàng hiện có trong công ty. • Bảng LOAIHANG phân loại các mặt hàng hiện có. • Bảng NHANVIEN có dữ liệu là các thông tin về nhân viên làm việc trong công ty • Bảng KHACHHANG được sử dụng để lưu trữ các thông tin về khách hàng của công ty. • Khách hàng đặt hàng cho công ty thông qua các đơn đặt hàng. Thông tin chung về các đơn đặt hàng được lưu trữ trong bảng DONDATHANG (Mỗi một đơn đặt hàng phải do một nhân viên của công ty lập và do đó bảng này có quan hệ với bảng NHANVIEN) • Thông tin chi tiết của các đơn đặt hàng (đặt mua mặt hàng gì, số lượng, giá cả,…) được lưu trữ trong bảng CHITIETDATHANG, bảng này có quan hệ với hai bảng DONDATHANG và MAHANG. *CÂU LỆNH SQL ĐỂ TẠO BẢNG VÀ NHẬP DỮ LIỆU: CREATE DATABASE QLBH CREATE TABLE KHACHHANG ( MaKhachHang INT CONSTRAINT PK_KHACHHANG_MaKhachHang PRIMARY KEY, TenCongTy NVARCHAR(50), TenGiaoDich NVARCHAR(20), DiaChi NVARCHAR(50), Email VARCHAR(30), DienThoai VARCHAR(15), Fax VARCHAR(15), ) CREATE TABLE NHACUNGCAP ( MaCongTy CHAR(3) CONSTRAINT PK_NHACUNGCAP_MaCongTy PRIMARY KEY(MaCongTy), TenCongTy NVARCHAR(50), TenGiaoDich NVARCHAR(20), DiaChi NVARCHAR(50), DienThoai VARCHAR(15), Fax VARCHAR(15), Email VARCHAR(30), ) CREATE TABLE LOAIHANG ( MaLoaiHang CHAR(2) CONSTRAINT PK_LOAIHANG_MaLoaiHang PRIMARY KEY(MaLoaiHang), TenLoaiHang NVARCHAR(30), ) CREATE TABLE MATHANG ( MaHang CHAR(4) CONSTRAINT PK_MATHANG_MaHang PRIMARY KEY(MaHang), TenHang NVARCHAR(30), MaCongTy CHAR(3), MaLoaiHang CHAR(2), SoLuong INT, DonViTinh NVARCHAR(10), GiaHang NUMERIC(10,2), CONSTRAINT FK_MATHANG_MaLoaiHang FOREIGN KEY(MaLoaiHang) REFERENCES LOAIHANG(MaLoaiHang) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_MATHANG_MaCongTy FOREIGN KEY(MaCongTy) REFERENCES NHACUNGCAP(MaCongTy) ON DELETE CASCADE ON UPDATE CASCADE, ) CREATE TABLE NHANVIEN ( MaNhanVien CHAR(4) CONSTRAINT PK_NHANVIEN_MaKhachHang PRIMARY KEY, Ho NVARCHAR(40), Ten NVARCHAR(10), NgaySinh DATETIME, NgayLamViec DATETIME, DiaChi NVARCHAR(60), DienThoai VARCHAR(15), LuongCoBan NUMERIC(10,2), PhuCap NUMERIC(10,2), ) CREATE TABLE DONDATHANG ( SoHoaDon INT CONSTRAINT PK_DONDATHANG_SoHoaDon PRIMARY KEY, MaKhachHang INT, MaNhanVien CHAR(4), NgayDatHang DATETIME, NgayGiaoHang DATETIME, NgayChuyenHang DATETIME, NoiGiaoHang NVARCHAR(80), CONSTRAINT FK_DONDATHANG_MaKhachHang FOREIGN KEY(MaKhachHang) REFERENCES KHACHHANG(MaKhachHang) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_DONDATHANG_MaNhanVien FOREIGN KEY(MaNhanVien) REFERENCES NHANVIEN(MaNhanVien) ON DELETE CASCADE ON UPDATE CASCADE, ) CREATE TABLE CHITIETDATHANG ( SoHoaDon INT, MaHang CHAR(4), GiaBan NUMERIC(10,2), SoLuong INT, MucGiamGia NUMERIC(10,2), CONSTRAINT PK_CHITIETDATHANG_SoHoaDon_MaHang PRIMARY KEY(SoHoaDon, MaHang), CONSTRAINT FK_CHITIETDATHANG_SoHoaDon FOREIGN KEY(SoHoaDon) REFERENCES DONDATHANG(SoHoaDon) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT FK_CHITIETDATHANG_MaHang FOREIGN KEY(MaHang) REFERENCES MATHANG(MaHang) ON DELETE CASCADE ON UPDATE CASCADE, ) INSERT INTO LOAIHANG VALUES('TP', N'Thực phẩm'); INSERT INTO LOAIHANG VALUES('DT', N'Ðiện tử'); INSERT INTO LOAIHANG VALUES('MM', N'May mặc'); INSERT INTO LOAIHANG VALUES('NT', N'Nội thất'); INSERT INTO LOAIHANG VALUES('DC', N'Dụng cụ học tập'); INSERT INTO KHACHHANG VALUES(1, N'Công ty sữa Việt Nam', 'VINAMILK', N'Hà Nội', 'vinamilk@vietnam.com', '04-891135', ''); INSERT INTO KHACHHANG VALUES(2, N'Công ty may mặc Việt Tiến', 'VIETTIEN', N'Sài Gòn', 'viettien@vietnam.com','08-808803',''); INSERT INTO KHACHHANG VALUES(3, N'Tổng công ty thực phẩm dinh dưỡng NUTRIFOOD', 'NUTRIFOOD', N'Sài Gòn', 'nutrifood@vietnam.com','08-809890',''); INSERT INTO KHACHHANG VALUES(4, N'Công ty điện máy Hà Nội', 'MACHANOI', N'Hà Nội', 'machanoi@vietnam.om','04-898399',''); INSERT INTO KHACHHANG VALUES(5, N'Hãng hàng không Việt Nam','VIETNAMAIRLINES',N'Sài Gòn','vietnamairlines@vietnam.com','08-888888',''); INSERT INTO KHACHHANG VALUES(6, N'Công ty dụng cụ học sinh MIC','MIC', N'Hà Nội','mic@vietnam.com','04-804408',''); INSERT INTO NHANVIEN VALUES('A001', N'Đậu Tố', N'Anh', '03/07/1986','03/01/2009', N'Quy Nhơn', '056-647995', 10000000, 1000000); INSERT INTO NHANVIEN VALUES('H001', N'Lê Thị Bích', N'Hoa', '05/20/1986','03/01/2009', N'An Khê', '', 9000000, 1000000); INSERT INTO NHANVIEN VALUES('H002', N'Ông Hoàng', N'Hải', '08/11/1987','03/01/2009', N'Đà Nẵng', '0905-611725', 12000000, 0); INSERT INTO NHANVIEN VALUES('H003', N'Trần Nguyễn Đức', N'Hoàng', '04/09/1986','03/01/2009', N'Quy Nhơn','', 11000000, 0); INSERT INTO NHANVIEN VALUES('P001', N'Nguyễn Hoài', N'Phong', '06/14/1986', '03/01/2009', N'Quy Nhơn','056-891135', 13000000, 0); INSERT INTO NHANVIEN VALUES('Q001', N'Trương Thị Thế', N'Quang', '06/17/1987', '03/01/2009', N'Ayunpa','0979-792176', 10000000, 500000); INSERT INTO NHANVIEN VALUES('T001', N'Nguyễn Đức', N'Thắng', '09/13/1984', '03/01/2009', N'Phù Mỹ', '0955-593893', 1200000,0); INSERT INTO NHANVIEN VALUES('D001', N'Nguyễn Minh', N'Đăng', '12/29/1987', '03/01/2009', N'Quy Nhơn','0905-779919', 14000000, 0); INSERT INTO NHANVIEN VALUES('M001', N'Hồ Thị Phương', N'Mai', '09/14/1987', '03/01/2009', N'Tây Sơn','', 9000000, 500000); INSERT INTO NHACUNGCAP VALUES('VNM', N'Công ty sữa Việt Nam', 'VINAMILK', N'Hà Nội', '04-891135', '', 'vinamilk@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('MVT', N'Công ty may mặc Việt Tiến', 'VIETTIEN', N'Sài Gòn', '08-808803', '', 'viettien@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('SCM', N'Siêu thị Coop-mart', 'COOPMART', N'Quy Nhơn', '056-888666', '', 'coopmart@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('DQV', N'Công ty máy tính Quang Vũ', 'QUANGVU', N'Quy Nhơn', '056-888777', '', 'quangvu@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('DAF', N'Nội thất Đài Loan Dafuco', 'DAFUCO', N'Quy Nhơn', '056-888111', '', 'dafuco@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('GOL', N'Công ty sản xuất dụng cụ học sinh Golden', 'GOLDEN', N'Quy Nhơn', '056-891135', '', 'golden@vietnam.com'); INSERT INTO MATHANG VALUES('TP01', N'Sửa hộp XYZ', 'VNM', 'TP', 10, N'Hộp', 4000); INSERT INTO MATHANG VALUES('TP02', N'Sửa XO', 'VNM', 'TP', 12, N'Hộp', 180000); INSERT INTO MATHANG VALUES('TP03', N'Sửa tươi Vinamilk không đường', 'VNM', 'TP', 5000, N'Hộp', 3500); INSERT INTO MATHANG VALUES('TP04', N'Táo', 'SCM', 'TP', 12, N'Ký', 12000); INSERT INTO MATHANG VALUES('TP05', N'Cà chua', 'SCM', 'TP', 15, N'Ký', 5000); INSERT INTO MATHANG VALUES('TP06', N'Bánh AFC', 'SCM', 'TP', 100, N'Hộp', 3000); INSERT INTO MATHANG VALUES('TP07', N'Mì tôm A-One', 'SCM', 'TP', 150, N'Thùng', 40000); INSERT INTO MATHANG VALUES('MM01', N'Đồng phục công sở nữ', 'MVT', 'MM', 140, N'Bộ', 340000); INSERT INTO MATHANG VALUES('MM02', N'Veston nam', 'MVT', 'MM', 30, N'Bộ', 500000); INSERT INTO MATHANG VALUES('MM03', N'Áo sơ mi nam', 'MVT', 'MM', 20, N'Cái', 75000); INSERT INTO MATHANG VALUES('DT01', N'LCD Nec', 'DQV', 'DT', 10, N'Cái', 3100000); INSERT INTO MATHANG VALUES('DT02', N'Ổ cứng 80GB', 'DQV', 'DT', 20, N'Cái', 800000); INSERT INTO MATHANG VALUES('DT03', N'Bàn phím Mitsumi', 'DQV', 'DT', 20 , N'Cái', 150000); INSERT INTO MATHANG VALUES('DT04', N'Tivi LCD', 'DQV', 'DT', 10, N'Cái', 20000000); INSERT INTO MATHANG VALUES('DT05', N'Máy tính xách tay NEC', 'DQV', 'DT', 60, N'Cái', 18000000); INSERT INTO MATHANG VALUES('NT01', N'Bàn ghế ăn', 'DAF', 'NT', 20, N'Bộ', 1000000); INSERT INTO MATHANG VALUES('NT02', N'Bàn ghế Salon', 'DAF', 'NT', 20, N'Bộ', 150000); INSERT INTO MATHANG VALUES('DC01', N'Vở học sinh cao cấp', 'GOL', 'DC', 20000 , N'Ram', 48000); INSERT INTO MATHANG VALUES('DC02', N'Viết bi học sinh', 'GOL', 'DC', 2000 , N'Cây', 2000); INSERT INTO MATHANG VALUES('DC03', N'Hộp màu tô', 'GOL', 'DC', 2000 , N'Hộp', 7500); INSERT INTO MATHANG VALUES('DC04', N'Viết mực cao cấp', 'GOL', 'DC', 2000 , N'Cây', 20000); INSERT INTO MATHANG VALUES('DC05', N'Viết chì 2B', 'GOL', 'DC', 2000 , N'Cây', 3000); INSERT INTO MATHANG VALUES('DC06', N'Viết chì 4B', 'GOL', 'DC', 2000 , N'Cây', 6000); INSERT INTO DONDATHANG VALUES(1, 1, 'A001', '09/20/2007', '10/01/2007', '10/01/2007', N'Hà Nội'); INSERT INTO DONDATHANG VALUES(2, 1, 'H001', '09/20/2007', '10/01/2007', '10/01/2007', N'Hà Nội'); INSERT INTO DONDATHANG VALUES(3, 2, 'H002', '09/20/2007', '10/01/2007', '10/01/2007', N'Sài Gòn'); INSERT INTO DONDATHANG VALUES(4, 3, 'H003', '09/20/2007', '10/01/2007', '10/01/2007', N'Sài Gòn'); INSERT INTO DONDATHANG VALUES(5, 4, 'P001', '09/20/2007', '10/01/2007', '10/01/2007', N'Hà Nội'); INSERT INTO DONDATHANG VALUES(6, 5, 'D001', '09/20/2007', '10/01/2007', '10/01/2007', N'Hà Nội'); INSERT INTO DONDATHANG VALUES(7, 6, 'M001', '09/20/2007', '10/01/2007', '10/01/2007', N'Hà Nội'); INSERT INTO DONDATHANG VALUES(8, 2, 'Q001', '09/20/2007', '10/01/2007', '10/01/2007', N'Sài Gòn'); INSERT INTO DONDATHANG VALUES(9, 3, 'T001', '09/20/2007', '10/01/2007', '10/01/2007', N'Sài Gòn'); INSERT INTO CHITIETDATHANG VALUES(9, 'DC01', 48000, 1000, 0); INSERT INTO CHITIETDATHANG VALUES(9, 'DC02', 2000, 1000, 0); INSERT INTO CHITIETDATHANG VALUES(9, 'DC03', 7500, 1000, 0); INSERT INTO CHITIETDATHANG VALUES(8, 'DT04', 20000000, 2, 1000000); INSERT INTO CHITIETDATHANG VALUES(7, 'TP03', 3000, 200, 0); INSERT INTO CHITIETDATHANG VALUES(4, 'MM01', 340000, 80, 10000); INSERT INTO CHITIETDATHANG VALUES(5, 'TP03', 3000, 1000, 0); INSERT INTO CHITIETDATHANG VALUES(6, 'DT05', 18000000, 20, 1000000); INSERT INTO CHITIETDATHANG VALUES(6, 'DT01', 3100000, 2, 100000); INSERT INTO CHITIETDATHANG VALUES(3, 'MM01', 340000, 30, 10000); INSERT INTO CHITIETDATHANG VALUES(3, 'MM02', 500000, 30, 20000); INSERT INTO CHITIETDATHANG VALUES(2, 'MM02', 500000, 20, 20000); INSERT INTO CHITIETDATHANG VALUES(2, 'MM01', 340000, 30, 10000); INSERT INTO CHITIETDATHANG VALUES(1, 'TP01', 4000, 5, 0); INSERT INTO CHITIETDATHANG VALUES(1, 'TP02', 180000, 5, 5000); INSERT INTO CHITIETDATHANG VALUES(1, 'TP03', 12000, 5, 0); INSERT INTO CHITIETDATHANG VALUES(1, 'TP06', 3000, 50, 0); INSERT INTO CHITIETDATHANG VALUES(1, 'TP07', 40000,100, 0); Sử dụng câu lệnh SELECT để thực hiện các yêu cầu sau: 1. Cho biết danh sách các đối tác cung cấp hàng cho công ty 2. Mã hàng, tên hàng và số lượng của các mặt hàng hiện có trong công ty 3. Họ tên, địa chỉ và năm bắt đầu làm việc của các nhân viên trong cty 4. Địa chỉ, điện thoại của nhà cung cấp có tên giao dịch VINAMILK 5. Mã và tên của các mặt hàng có giá trị lớn hơn 100000 và số lượng hiện có ít hơn 50 6. Cho biết mỗi mặt hàng trong công ty do ai cung cấp 7. Công ty Việt Tiến đã cung cấp những mặt hàng nào 8. Loại hàng thực phẩm do những công ty nào cung cấp, địa chỉ của công ty đó 9. Những khách hàng nào (tên giao dịch) đã đặt mua mặt hàng sữa hộp của công ty 10.Đơn đặt hàng số 1 do ai đặt và do nhân viên nào lập, thời gian và địa điểm giao hàng là ở đâu 11.Hãy cho biết số tiền lương mà công ty phải trả cho mỗi nhân viên là bao nhiêu (lương=lương cơ bản+phụ cấp) 12.Trong đơn đặt hàng số 3 đặt mua những mạt hàng nào và số tiền mà khách hàng phải trả cho mỗi mặt hàng là bao nhiêu(số tiền phải trả=số lượng x giá bán – số lượng x giá bán x mức giảm giá/100) 13.Hãy cho biết có những khách hàng nào lại chính là đối tác cung cấp hàng cho công ty (tức là có cùng tên giao dịch) 14.Trong công ty có những nhân viên nào có cùng ngày sinh 15.Những đơn hàng nào yêu cầu giao hàng ngay tại công ty đặt hàng và những đơn đó là của công ty nào 16.Cho biết tên công ty, tên giao dịch, địa chỉ và điện thoại của các khách hàng và nhà cung cấp hàng cho công ty 17.Những mặt hàng nào chưa từng được khách hàng đặt mua 18.Những nhân viên nào của công ty chưa từng lập hóa đơn đặt hàng nào 19.Những nhân viên nào của công ty có lương cơ bản cao nhất 20.Tổng số tiền mà khách hàng phải trả cho mỗi đơn đặt hàng là bao nhiêu 21.Trong năm 2006 những mặt hàng nào đặt mua đúng mộ lần 22.Mỗi khách hàng phải bỏ ra bao nhiêu tiền để đặt mua hàng của công ty 23.Mỗi nhân viên của công ty đã lập bao nhiêu đơn đặt hàng (nếu chưa hề lập hóa đơn nào thì cho kết quả là 0) 24.Tổng số tiền hàng mà công ty thu được trong mỗi tháng của năm 2006 (thời gian được tính theo ngày đặt hàng) 25.Tông số tiền lời mà công ty thu được từ mỗi mặt hàng trong năm 2006 26.Số lượng hàng còn lại của mỗi mặt hàng mà công ty đã có (tổng số lượng hàng hiện có và đã bán) 27.Nhân viên nào của công ty bán được số lượng hàng nhiều nhất và số lượng hàng bán được của mhữmg nhân viên này là bao nhiêu 28.Đơn đặt hàng nào có số lượng hàng được đặt mua ít nhất 29.Số tiền nhiều nhất mà khách hàng đã từng bỏ ra để đặt hàng trong các đơn đặt hàng là bao nhiêu 30.Mỗi một đơn đặt hàng đặt mua những mặt hàng nào và tổng số tiền của đơn đặt hàng 31.Mỗi một loại hàng bao gồm những mặt hàng nào, tổng số lượng của mỗi loại và tổng số lượng của tất cả các mặt hàng hiện có trong cty 32.Thông kê trong năm 2006 mỗi một mặt hàng trong mỗi tháng và trong cả năm bán được với số lượng bao nhiêu (Yêu cầu kết quả hiểu thị dưới dạng bảng, hai cột đầu là mã hàng, tên hàng, các cột còn lại tương ứng từ tháng 1 đến tháng 12 và cả năm. Như vậy mỗi dòng trong kết quả cho biết số lượng hàng bán được mỗi tháng và trong cả năm của mỗi mặt hàng Sử dụng câu lệnh UPDATE để thực hiện các yêu cầu 33.Cập nhật lại giá thị trường NGAYCHUYENHANG của những bản ghi có NGAYCHUYENHANG chưa xác định (NULL) trong bảng DONDATHANG bằng với giá trị của trường NGAYDATHANG 34.Tăng số lượng hàng của những mặt hàng do công ty VINAMILK cung cấp lên gấp đôi 35.Cập nhật giá trị của trường NOIGIAOHANG trong bảng DONDATHANG bằng địa chỉ của khách hàng đối với những đơn đặt hàng chưa xác định được nơi giao hàng (giá trị trường NOIGIAOHANG bằng NULL). 36.Cập nhật lại dữ liệu trong bảng KHACHHANG sao cho nếu tên công ty và tên giao dịch của khách hàng trùng với tên công ty và tên giao dịch của một nhà cung cấp nào đó thì địa chỉ, điện thoại, fax và e-mail phải giống nhau. 37. Tăng lương lên gấp rưỡi cho những nhân viên bán được số lượng hàng nhiều hơn 100 trong năm 2003. 38. Tăng phụ cấp lên bằng 50% lương cho những nhân viên bán được hàng nhiều nhất. 39. Giảm 25% lương của những nhân viên trong năm 2003 không lập được bất kỳ đơn đặt hàng nào. 40. Giả sử trong bảng DONDATHANG có thêm trường SOTIEN cho biết số tiền mà khách hàng phải trả trong mỗi đơn đặt hàng. Hãy tính giá trị cho trường này. Thực hiện các yêu cầu dưới đây bằng câu lệnh DELETE. 41. Xoá khỏi bảng NHANVIEN những nhân viên đã làm việc trong công ty quá 40 năm. 42. Xoá những đơn đặt hàng trước năm 2000 ra khỏi cơ sở dữ liệu. 43. Xoá khỏi bảng LOAIHANG những loại hàng hiện không có mặt hàng. 44. Xoá khỏi bảng KHACHHANG những khách hàng hiện không có bất kỳ đơn đặt hàng nào cho công ty. 45. Xoá khỏi bảng MATHANG những mặt hàng có số lượng bằng 0 và không được đặt mua trong bất kỳ đơn đặt hàng nào. Bài làm: --CÂU 1: /* Cho biết danh sách các đối tác cung cấp hàng cho công ty*/ SELECT * FROM NHACUNGCAP SELECT * FROM MATHANG SELECT * FROM NHANVIEN SELECT DISTINCT NHACUNGCAP.MACONGTY, TENCONGTY FROM NHACUNGCAP, MATHANG WHERE NHACUNGCAP.MACONGTY=MATHANG.MACONGTY --CÂU 2 /* Mã hàng, tên hàng và số lượng của các mặt hàng hiện có trong công ty*/ SELECT MAHANG, TENHANG,SOLUONG FROM MATHANG COMPUTE COUNT(MAHANG), SUM(SOLUONG) --CÂU 3 /* Họ tên, địa chỉ và năm bắt đầu làm việc của các nhân viên trong cty*/ SELECT HO, TEN, DIACHI, YEAR(NGAYLAMVIEC) AS NAM FROM NHANVIEN --CÂU 4 /* Địa chỉ, điện thoại của nhà cung cấp có tên giao dịch VINAMILK*/ SELECT * FROM NHACUNGCAP WHERE TENGIAODICH='VINAMILK' --CÂU 5 /* Mã và tên của các mặt hàng có giá trị lớn hơn 100000 và số lượng hiện có ít hơn 50*/ SELECT * FROM MATHANG WHERE (GIAHANG>100000) AND (SOLUONG<50) --CÂU 6 /* Cho biết mỗi mặt hàng trong công ty do ai cung cấp*/ SELECT DISTINCT MATHANG.MAHANG, TENHANG, TENCONGTY FROM MATHANG, NHACUNGCAP WHERE MATHANG.MACONGTY=NHACUNGCAP.MACONGTY --CÂU 7 /* Công ty Việt Tiến đã cung cấp những mặt hàng nào*/ SELECT * FROM NHACUNGCAP SELECT * FROM MATHANG SELECT MATHANG.MAHANG, MATHANG.TENHANG, MATHANG.MACONGTY, NHACUNGCAP.TENCONGTY FROM NHACUNGCAP, MATHANG WHERE MATHANG.MACONGTY = NHACUNGCAP.MACONGTY AND TENCONGTY LIKE N'%Việt Tiến' --CÂU 8 /* Loại hàng thực phẩm do những công ty nào cung cấp, địa chỉ của công ty đó*/ SELECT DISTINCT MATHANG.MALOAIHANG, TENLOAIHANG, TENCONGTY, DIACHI FROM NHACUNGCAP, LOAIHANG, MATHANG WHERE LOAIHANG.MALOAIHANG=MATHANG.MALOAIHANG AND MATHANG.MACONGTY = NHACUNGCAP.MACONGTY AND TENLOAIHANG=N'THỰC PHẨM' --CÂU 9 /* Những khách hàng nào (tên giao dịch) đã đặt mua mặt hàng sữa hộp của công ty*/ SELECT KHACHHANG.MAKHACHHANG, TENGIAODICH, TENCONGTY, TENHANG FROM KHACHHANG, DONDATHANG, MATHANG, CHITIETDATHANG WHERE KHACHHANG.MAKHACHHANG=DONDATHANG.MAKHACHHANG AND DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON AND CHITIETDATHANG.MAHANG=MATHANG.MAHANG AND TENHANG LIKE N'SỬA HỘP%' --CÂU 10 /* Đơn đặt hàng số 1 do ai đặt và do nhân viên nào lập, thời gian và địa điểm giao hàng là ở đâu*/ SELECT * FROM NHANVIEN SELECT * FROM KHACHHANG SELECT * FROM DONDATHANG SELECT KHACHHANG.MAKHACHHANG, TENCONGTY, HO, TEN,NGAYGIAOHANG, NOIGIAOHANG FROM KHACHHANG, NHANVIEN, DONDATHANG WHERE NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN AND KHACHHANG.MAKHACHHANG=DONDATHANG.MAKHACHHANG AND SOHOADON=1 --CÂU 11 /* Hãy cho biết số tiền lương mà công ty phải trả cho mỗi nhân viên là bao nhiêu (lương=lương cơ bản+phụ cấp)*/ SELECT HO, TEN, LUONGCOBAN+PHUCAP AS 'LƯƠNG' FROM NHANVIEN --CÂU 12 /* Trong đơn đặt hàng số 3 đặt mua những mặt hàng nào và số tiền mà khách hàng phải trả cho mỗi mặt hàng là bao nhiêu(số tiền phải trả=số lượng x giá bán – số lượng x giá bán x mức giảm giá/100) */ SELECT * FROM MATHANG SELECT MATHANG.MAHANG, SOHOADON, TENHANG, CHITIETDATHANG.SOLUONG*GIABAN*(1- MUCGIAMGIA/100) AS 'SỐ TIỀN PHẢI TRẢ' FROM MATHANG, CHITIETDATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG AND CHITIETDATHANG.SOHOADON=3 --CÂU 13 /* Hãy cho biết có những khách hàng nào lại chính là đối tác cung cấp hàng cho công ty (tức là có cùng tên giao dịch)*/ SELECT KHACHHANG.TENCONGTY, KHACHHANG.TENGIAODICH FROM KHACHHANG, NHACUNGCAP WHERE KHACHHANG.TENGIAODICH=NHACUNGCAP.TENGIAODICH --CÂU 14 /* Trong công ty có những nhân viên nào có cùng ngày sinh*/ SELECT B.HO, B.TEN, B.NGAYSINH FROM NHANVIEN A, NHANVIEN B WHERE DAY(A.NGAYSINH)=DAY(B.NGAYSINH) AND A.MANHANVIEN<>B.MANHANVIEN --CÂU 15 /* Những đơn hàng nào yêu cầu giao hàng ngay tại công ty đặt hàng và những đơn đó là của công ty nào */ SELECT DISTINCT TENCONGTY, DIACHI, NOIGIAOHANG FROM NHACUNGCAP, DONDATHANG WHERE NHACUNGCAP.DIACHI=DONDATHANG.NOIGIAOHANG --CÂU 16 /* Cho biết tên công ty, tên giao dịch, địa chỉ và điện thoại của các khách hàng và nhà cung cấp hàng cho công ty*/ SELECT TENCONGTY, TENGIAODICH, DIACHI, DIENTHOAI FROM KHACHHANG UNION SELECT TENCONGTY, TENGIAODICH, DIACHI, DIENTHOAI FROM NHACUNGCAP --CÂU 17 /* Những mặt hàng nào chưa từng được khách hàng đặt mua*/ SELECT MAHANG,TENHANG FROM MATHANG WHERE MAHANG NOT IN (SELECT MAHANG FROM CHITIETDATHANG) --CÂU 18 /* Những nhân viên nào của công ty chưa từng lập hóa đơn đặt hàng nào?*/ SELECT MANHANVIEN, HO, TEN FROM NHANVIEN WHERE MANHANVIEN NOT IN (SELECT MANHANVIEN FROM DONDATHANG) [...]... FROM CHITIETDATHANG /*SELECT DISTINCT DONDATHANG.MAKHACHHANG,CHITIETDATHANG.SOHOADON, SUM(SOLUONG*GIABAN) AS 'THANHTIEN' FROM CHITIETDATHANG, DONDATHANG GROUP BY MAKHACHHANG, CHITIETDATHANG.SOHOADON*/ CÁCH 1 SELECT DONDATHANG.MAKHACHHANG, CHITIETDATHANG.SOHOADON, SUM(SOLUONG*GIABAN) AS 'THANHTIEN' FROM CHITIETDATHANG, DONDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY MAKHACHHANG,CHITIETDATHANG.SOHOADON... GROUP BY MATHANG.MAHANG, TENHANG HAVING COUNT(CHITIETDATHANG.MAHANG)=1 CÁCH 2: SELECT MAHANG FROM CHITIETDATHANG, DONDATHANG WHERE CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON AND YEAR(NGAYDATHANG)=2007 GROUP BY MAHANG HAVING COUNT(MAHANG)=1 CÁCH 3 SELECT MATHANG.MAHANG FROM MATHANG, DONDATHANG, CHITIETDATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG AND CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON... khachhang.makhachhang=dondathang.makhachhang) INNER JOIN chitietdathang ON dondathang.sohoadon=chitietdathang.sohoadon GROUP BY dondathang.makhachhang,tencongty,tengiaodich, dondathang.sohoadon CÂU 21 Trong năm 2006 những mặt hàng mà đặt mua đúng một lần SELECT MATHANG.MAHANG, TENHANG FROM (MATHANG INNER JOIN CHITIETDATHANG ON MATHANG.MAHANG=CHITIETDATHANG.MAHANG)INNER JOIN DONDATHANG ON CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON... INNER JOIN CHITIETDATHANG ON DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY NHANVIEN.MANHANVIEN,HO,TEN HAVING SUM(SOLUONG)>=ALL(SELECT SUM(SOLUONG) FROM (NHANVIEN INNER JOIN DONDATHANG ON NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN) INNER JOIN CHITIETDATHANG ON DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY NHANVIEN.MANHANVIEN,HO,TEN) CÁCH 2 SELECT NHANVIEN.MANHANVIEN, HO, TEN, SUM(CHITIETDATHANG.SOLUONG)... lượng hàng được đặt mua ít nhất */ SELECT * FROM CHITIETDATHANG SELECT DONDATHANG.SOHOADON, SUM(SOLUONG)AS 'SO LUONG HANG DAT MUA IT NHAT' FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY DONDATHANG.SOHOADON HAVING SUM(SOLUONG)=ALL(SELECT SUM(SOLUONG) FROM NHANVIEN, DONDATHANG, CHITIETDATHANG WHERE NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN AND DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY NHANVIEN.MANHANVIEN,... MATHANG.MAHANG, TENHANG HAVING COUNT(CHITIETDATHANG.MAHANG)=1 CÂU 22 /* Mỗi khách hàng phải bỏ ra bao nhiêu tiền để đặt mua hàng của công ty */ SELECT KHACHHANG.MAKHACHHANG, TENCONGTY, TENGIAODICH, SUM(SOLUONG*GIABAN-((SOLUONG*GIABAN*MUCGIAMGIA)/100)) FROM KHACHHANG, CHITIETDATHANG, DONDATHANG WHERE KHACHHANG.MAKHACHHANG=DONDATHANG.MAKHACHHANG AND DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY KHACHHANG.MAKHACHHANG,... TIEN THU DUOC' FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON AND YEAR(NGAYDATHANG) = 2007 GROUP BY MONTH(NGAYDATHANG) CÂU 25 /* Tổng số tiền lời mà công ty thu được từ mỗi mặt hàng trong năm 2006 */ SELECT C.MAHANG, TENHANG, SUM(B.SOLUONG*GIABAN-B.SOLUONG*GIABAN*MUCGIAMGIA/100)SUM(B.SOLUONG*GIAHANG) AS 'TIEN LOI' FROM DONDATHANG AS A, CHITIETDATHANG AS B, MATHANG AS... CÂU 26 /* Tổng số lượng hàng của mỗi mặt hàng mà công ty đã có (tổng số lượng hàng hiện có và đã bán)*/ SELECT MATHANG.MAHANG, TENHANG,SUM(MATHANG.SOLUONG-CHITIETDATHANG.SOLUONG) AS 'TONG SO LUONG CON' FROM CHITIETDATHANG, MATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG GROUP BY MATHANG.MAHANG, TENHANG CÂU 27 /* Nhân viên nào của công ty bán được số lượng hàng nhiều nhất và số lượng hàng bán được... TOP 1 SUM(SOLUONG*GIABAN-SOLUONG*GIABAN*MUCGIAMGIA/100) FROM CHITIETDATHANG, DONDATHANG WHERE CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON ORDER BY 1 DESC CÂU 30 /*Mỗi một đơn đặt hàng đặt mua những mặt hàng nào và tổng số tiền của đơn đặt hàng*/ SELECT B.SOHOADON, B.MAHANG, C.TENHANG, SUM(B.SOLUONG*GIABAN) AS 'TONG SO TIEN' FROM DONDATHANG A, CHITIETDATHANG B, MATHANG C WHERE A.SOHOADON=B.SOHOADON AND . MÔ HÌNH QUẢN LÝ BÁN HÀNG VÀ CÁC CÂU LỆNH SQL TABLE KHÁCH HÀNG LÀ CÔNG TY CỦA KHÁCH HÀNG Cho cơ sở dữ diệu sau được sử. CHITIETDATHANG, bảng này có quan hệ với hai bảng DONDATHANG và MAHANG. *CÂU LỆNH SQL ĐỂ TẠO BẢNG VÀ NHẬP DỮ LIỆU: CREATE DATABASE QLBH CREATE TABLE KHACHHANG

Ngày đăng: 26/09/2013, 23:21

Hình ảnh liên quan

MÔ HÌNH QUẢN LÝ BÁN HÀNG VÀ CÁC CÂU LỆNH SQL   TABLE KHÁCH HÀNG LÀ CÔNG TY CỦA KHÁCH HÀNG - Bai tap ve SQL server (co giai chi tiet)
MÔ HÌNH QUẢN LÝ BÁN HÀNG VÀ CÁC CÂU LỆNH SQL TABLE KHÁCH HÀNG LÀ CÔNG TY CỦA KHÁCH HÀNG Xem tại trang 1 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan