You are on page 1of 17

M HNH QUN L BN HNG V CC CU LNH SQL TABLE KHCH HNG L CNG TY CA KHCH HNG

Cho c s d diu sau c s dng qun l cng tc giao hng trong mt cng ty kinh doanh.

trong d: Bng NHACUNGCAP lu tr d liu v cc i tc cung cp hng cho cng ty.

Bng MATHANG lu tr d liu v cc mt hng hin c trong cng ty.

Bng LOAIHANG phn loi cc mt hng hin c. Bng NHANVIEN c d liu l cc thng tin v nhn vin lm vic trong cng ty Bng KHACHHANG c s dng lu tr cc thng tin v khch hng ca cng ty. Khch hng t hng cho cng ty thng qua cc n t hng. Thng tin chung v cc n t hng c lu tr trong bng DONDATHANG (Mi mt n t hng phi do mt nhn vin ca cng ty lp v do bng ny c quan h vi bng NHANVIEN) Thng tin chi tit ca cc n t hng (t mua mt hng g, s lng, gi c,) c lu tr trong bng CHITIETDATHANG, bng ny c quan h vi hai bng DONDATHANG v MAHANG. *CU LNH SQL TO BNG V NHP D LIU:
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 INSERT INSERT INSERT INSERT INTO INTO INTO INTO INTO LOAIHANG LOAIHANG LOAIHANG LOAIHANG LOAIHANG VALUES('TP', VALUES('DT', VALUES('MM', VALUES('NT', VALUES('DC', N'Thc phm'); N'in t'); N'May mc'); N'Ni tht'); N'Dng c hc tp');

INSERT INTO KHACHHANG VALUES(1, N'Cng ty sa Vit Nam', 'VINAMILK', N'H Ni', 'vinamilk@vietnam.com', '04-891135', ''); INSERT INTO KHACHHANG VALUES(2, N'Cng ty may mc Vit Tin', 'VIETTIEN', N'Si Gn', 'viettien@vietnam.com','08-808803',''); INSERT INTO KHACHHANG VALUES(3, N'Tng cng ty thc phm dinh dng NUTRIFOOD', 'NUTRIFOOD', N'Si Gn', 'nutrifood@vietnam.com','08809890','');

INSERT INTO KHACHHANG VALUES(4, N'Cng ty in my H Ni', 'MACHANOI', N'H Ni', 'machanoi@vietnam.om','04-898399',''); INSERT INTO KHACHHANG VALUES(5, N'Hng hng khng Vit Nam','VIETNAMAIRLINES',N'Si Gn','vietnamairlines@vietnam.com','08888888',''); INSERT INTO KHACHHANG VALUES(6, N'Cng ty dng c hc sinh MIC','MIC', N'H Ni','mic@vietnam.com','04-804408',''); INSERT INTO NHANVIEN VALUES('A001', N'u T', N'Anh', '03/07/1986','03/01/2009', N'Quy Nhn', '056-647995', 10000000, 1000000); INSERT INTO NHANVIEN VALUES('H001', N'L Th Bch', N'Hoa', '05/20/1986','03/01/2009', N'An Kh', '', 9000000, 1000000); INSERT INTO NHANVIEN VALUES('H002', N'ng Hong', N'Hi', '08/11/1987','03/01/2009', N' Nng', '0905-611725', 12000000, 0); INSERT INTO NHANVIEN VALUES('H003', N'Trn Nguyn c', N'Hong', '04/09/1986','03/01/2009', N'Quy Nhn','', 11000000, 0); INSERT INTO NHANVIEN VALUES('P001', N'Nguyn Hoi', N'Phong', '06/14/1986', '03/01/2009', N'Quy Nhn','056-891135', 13000000, 0); INSERT INTO NHANVIEN VALUES('Q001', N'Trng Th Th', N'Quang', '06/17/1987', '03/01/2009', N'Ayunpa','0979-792176', 10000000, 500000); INSERT INTO NHANVIEN VALUES('T001', N'Nguyn c', N'Thng', '09/13/1984', '03/01/2009', N'Ph M', '0955-593893', 1200000,0); INSERT INTO NHANVIEN VALUES('D001', N'Nguyn Minh', N'ng', '12/29/1987', '03/01/2009', N'Quy Nhn','0905-779919', 14000000, 0); INSERT INTO NHANVIEN VALUES('M001', N'H Th Phng', N'Mai', '09/14/1987', '03/01/2009', N'Ty Sn','', 9000000, 500000); INSERT INTO NHACUNGCAP VALUES('VNM', N'Cng ty sa Vit Nam', 'VINAMILK', N'H Ni', '04-891135', '', 'vinamilk@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('MVT', N'Cng ty may mc Vit Tin', 'VIETTIEN', N'Si Gn', '08-808803', '', 'viettien@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('SCM', N'Siu th Coop-mart', 'COOPMART', N'Quy Nhn', '056-888666', '', 'coopmart@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('DQV', N'Cng ty my tnh Quang V', 'QUANGVU', N'Quy Nhn', '056-888777', '', 'quangvu@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('DAF', N'Ni tht i Loan Dafuco', 'DAFUCO', N'Quy Nhn', '056-888111', '', 'dafuco@vietnam.com'); INSERT INTO NHACUNGCAP VALUES('GOL', N'Cng ty sn xut dng c hc sinh Golden', 'GOLDEN', N'Quy Nhn', '056-891135', '', 'golden@vietnam.com'); INSERT INTO MATHANG VALUES('TP01', N'Hp', 4000); INSERT INTO MATHANG VALUES('TP02', 180000); INSERT INTO MATHANG VALUES('TP03', 'VNM', 'TP', 5000, N'Hp', 3500); INSERT INTO MATHANG VALUES('TP04', 12000); INSERT INTO MATHANG VALUES('TP05', 5000); INSERT INTO MATHANG VALUES('TP06', N'Hp', 3000); INSERT INTO MATHANG VALUES('TP07', N'Thng', 40000); N'Sa hp XYZ', 'VNM', 'TP', 10, N'Sa XO', 'VNM', 'TP', 12, N'Hp', N'Sa ti Vinamilk khng ng', N'To', 'SCM', 'TP', 12, N'K', N'C chua', 'SCM', 'TP', 15, N'K', N'Bnh AFC', 'SCM', 'TP', 100, N'M tm A-One', 'SCM', 'TP', 150,

INSERT INTO MATHANG VALUES('MM01', 140, N'B', 340000); INSERT INTO MATHANG VALUES('MM02', N'B', 500000); INSERT INTO MATHANG VALUES('MM03', N'Ci', 75000); INSERT INTO MATHANG VALUES('DT01', 3100000); INSERT INTO MATHANG VALUES('DT02', N'Ci', 800000); INSERT INTO MATHANG VALUES('DT03', , N'Ci', 150000); INSERT INTO MATHANG VALUES('DT04', 20000000); INSERT INTO MATHANG VALUES('DT05', 'DT', 60, N'Ci', 18000000); INSERT INTO MATHANG VALUES('NT01', N'B', 1000000); INSERT INTO MATHANG VALUES('NT02', N'B', 150000); INSERT INTO MATHANG VALUES('DC01', 20000 , N'Ram', 48000); INSERT INTO MATHANG VALUES('DC02', 2000 , N'Cy', 2000); INSERT INTO MATHANG VALUES('DC03', N'Hp', 7500); INSERT INTO MATHANG VALUES('DC04', 2000 , N'Cy', 20000); INSERT INTO MATHANG VALUES('DC05', N'Cy', 3000); INSERT INTO MATHANG VALUES('DC06', N'Cy', 6000); INSERT INTO DONDATHANG VALUES(1, '10/01/2007', N'H Ni'); INSERT INTO DONDATHANG VALUES(2, '10/01/2007', N'H Ni'); INSERT INTO DONDATHANG VALUES(3, '10/01/2007', N'Si Gn'); INSERT INTO DONDATHANG VALUES(4, '10/01/2007', N'Si Gn'); INSERT INTO DONDATHANG VALUES(5, '10/01/2007', N'H Ni'); INSERT INTO DONDATHANG VALUES(6, '10/01/2007', N'H Ni'); INSERT INTO DONDATHANG VALUES(7, '10/01/2007', N'H Ni'); INSERT INTO DONDATHANG VALUES(8, '10/01/2007', N'Si Gn'); INSERT INTO DONDATHANG VALUES(9, '10/01/2007', N'Si Gn');

N'ng phc cng s n', 'MVT', 'MM', N'Veston nam', 'MVT', 'MM', 30, N'o s mi nam', 'MVT', 'MM', 20, N'LCD Nec', 'DQV', 'DT', 10, N'Ci', N' cng 80GB', 'DQV', 'DT', 20, N'Bn phm Mitsumi', 'DQV', 'DT', 20 N'Tivi LCD', 'DQV', 'DT', 10, N'Ci', N'My tnh xch tay NEC', 'DQV', N'Bn gh n', 'DAF', 'NT', 20, N'Bn gh Salon', 'DAF', 'NT', 20, N'V hc sinh cao cp', 'GOL', 'DC', N'Vit bi hc sinh', 'GOL', 'DC', N'Hp mu t', 'GOL', 'DC', 2000 , N'Vit mc cao cp', 'GOL', 'DC', N'Vit ch 2B', 'GOL', 'DC', 2000 , N'Vit ch 4B', 'GOL', 'DC', 2000 ,

1, 'A001', '09/20/2007', '10/01/2007', 1, 'H001', '09/20/2007', '10/01/2007', 2, 'H002', '09/20/2007', '10/01/2007', 3, 'H003', '09/20/2007', '10/01/2007', 4, 'P001', '09/20/2007', '10/01/2007', 5, 'D001', '09/20/2007', '10/01/2007', 6, 'M001', '09/20/2007', '10/01/2007', 2, 'Q001', '09/20/2007', '10/01/2007', 3, 'T001', '09/20/2007', '10/01/2007',

INSERT INTO CHITIETDATHANG VALUES(9, 'DC01', 48000, 1000, 0); INSERT INTO CHITIETDATHANG VALUES(9, 'DC02', 2000, 1000, 0);

INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT

INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO

CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG CHITIETDATHANG

VALUES(9, VALUES(8, VALUES(7, VALUES(4, VALUES(5, VALUES(6, VALUES(6, VALUES(3, VALUES(3, VALUES(2, VALUES(2, VALUES(1, VALUES(1, VALUES(1, VALUES(1,

'DC03', 'DT04', 'TP03', 'MM01', 'TP03', 'DT05', 'DT01', 'MM01', 'MM02', 'MM02', 'MM01', 'TP01', 'TP02', 'TP03', 'TP06',

7500, 1000, 0); 20000000, 2, 1000000); 3000, 200, 0); 340000, 80, 10000); 3000, 1000, 0); 18000000, 20, 1000000); 3100000, 2, 100000); 340000, 30, 10000); 500000, 30, 20000); 500000, 20, 20000); 340000, 30, 10000); 4000, 5, 0); 180000, 5, 5000); 12000, 5, 0); 3000, 50, 0);

INSERT INTO CHITIETDATHANG VALUES(1, 'TP07', 40000,100, 0);

S dng cu lnh SELECT thc hin cc yu cu sau: 1. Cho bit danh sch cc i tc cung cp hng cho cng ty 2. M hng, tn hng v s lng ca cc mt hng hin c trong cng ty 3. H tn, a ch v nm bt u lm vic ca cc nhn vin trong cty
4. a ch, in thoi ca nh cung cp c tn giao dch VINAMILK

5. M v tn ca cc mt hng c gi tr ln hn 100000 v s lng hin c t hn 50 6. Cho bit mi mt hng trong cng ty do ai cung cp
7. Cng ty Vit Tin cung cp nhng mt hng no 8. Loi hng thc phm do nhng cng ty no cung cp, a ch ca cng ty 9. Nhng khch hng no (tn giao dch) t mua mt hng sa hp ca cng ty

10. n t hng s 1 do ai t v do nhn vin no lp, thi gian v a im giao hng l u 11. Hy cho bit s tin lng m cng ty phi tr cho mi nhn vin l bao nhiu (lng=lng c bn+ph cp) 12. Trong n t hng s 3 t mua nhng mt hng no v s tin m khch hng phi tr cho mi mt hng l bao nhiu(s tin phi tr=s lng x gi bn s lng x gi bn x mc gim gi/100) 13. Hy cho bit c nhng khch hng no li chnh l i tc cung cp hng cho cng ty (tc l c cng tn giao dch) 14. Trong cng ty c nhng nhn vin no c cng ngy sinh 15. Nhng n hng no yu cu giao hng ngay ti cng ty t hng v nhng n l ca cng ty no 16. Cho bit tn cng ty, tn giao dch, a ch v in thoi ca cc khch hng v nh cung cp hng cho cng ty 17. Nhng mt hng no cha tng c khch hng t mua

18. Nhng nhn vin no ca cng ty cha tng lp ha n t hng no 19. Nhng nhn vin no ca cng ty c lng c bn cao nht 20. Tng s tin m khch hng phi tr cho mi n t hng l bao nhiu 21. Trong nm 2006 nhng mt hng no t mua ng m ln 22. Mi khch hng phi b ra bao nhiu tin t mua hng ca cng ty 23. Mi nhn vin ca cng ty lp bao nhiu n t hng (nu cha h lp ha n no th cho kt qu l 0) 24. Tng s tin hng m cng ty thu c trong mi thng ca nm 2006 (thi gian c tnh theo ngy t hng) 25. Tng s tin li m cng ty thu c t mi mt hng trong nm 2006
26. S lng hng cn li ca mi mt hng m cng ty c (tng s lng hng hin c v

bn) 27. Nhn vin no ca cng ty bn c s lng hng nhiu nht v s lng hng bn c ca mhmg nhn vin ny l bao nhiu 28. n t hng no c s lng hng c t mua t nht 29. S tin nhiu nht m khch hng tng b ra t hng trong cc n t hng l bao nhiu 30. Mi mt n t hng t mua nhng mt hng no v tng s tin ca n t hng 31. Mi mt loi hng bao gm nhng mt hng no, tng s lng ca mi loi v tng s lng ca tt c cc mt hng hin c trong cty 32. Thng k trong nm 2006 mi mt mt hng trong mi thng v trong c nm bn c vi s lng bao nhiu (Yu cu kt qu hiu th di dng bng, hai ct u l m hng, tn hng, cc ct cn li tng ng t thng 1 n thng 12 v c nm. Nh vy mi dng trong kt qu cho bit s lng hng bn c mi thng v trong c nm ca mi mt hng S dng cu lnh UPDATE thc hin cc yu cu 33. Cp nht li gi th trng NGAYCHUYENHANG ca nhng bn ghi c NGAYCHUYENHANG cha xc nh (NULL) trong bng DONDATHANG bng vi gi tr ca trng NGAYDATHANG 34. Tng s lng hng ca nhng mt hng do cng ty VINAMILK cung cp ln gp i 35.Cp nht gi tr ca trng NOIGIAOHANG trong bng DONDATHANG bng a ch ca khch hng i vi nhng n t hng cha xc nh c ni giao hng (gi tr trng NOIGIAOHANG bng NULL).
36. Cp nht li d liu trong bng KHACHHANG sao cho nu tn cng ty v tn giao dch

ca khch hng trng vi tn cng ty v tn giao dch ca mt nh cung cp no th a ch, in thoi, fax v e-mail phi ging nhau. 37. Tng lng ln gp ri cho nhng nhn vin bn c s lng hng nhiu hn 100

trong nm 2003. 38. Tng ph cp ln bng 50% lng cho nhng nhn vin bn c hng nhiu nht. 39. Gim 25% lng ca nhng nhn vin trong nm 2003 khng lp c bt k n t hng no. 40. Gi s trong bng DONDATHANG c thm trng SOTIEN cho bit s tin m khch hng phi tr trong mi n t hng. Hy tnh gi tr cho trng ny. Thc hin cc yu cu di y bng cu lnh DELETE. 41. Xo khi bng NHANVIEN nhng nhn vin lm vic trong cng ty qu 40 nm. 42. Xo nhng n t hng trc nm 2000 ra khi c s d liu. 43. Xo khi bng LOAIHANG nhng loi hng hin khng c mt hng. 44. Xo khi bng KHACHHANG nhng khch hng hin khng c bt k n t hng no cho cng ty. 45. Xo khi bng MATHANG nhng mt hng c s lng bng 0 v khng c t mua trong bt k n t hng no.
Bi lm: --CU 1: /* Cho bit danh sch cc i tc cung cp hng cho cng ty*/ SELECT * FROM NHACUNGCAP SELECT * FROM MATHANG SELECT * FROM NHANVIEN SELECT DISTINCT NHACUNGCAP.MACONGTY, TENCONGTY FROM NHACUNGCAP, MATHANG WHERE NHACUNGCAP.MACONGTY=MATHANG.MACONGTY --CU 2 /* M hng, tn hng v s lng ca cc mt hng hin c trong cng ty*/ SELECT MAHANG, TENHANG,SOLUONG FROM MATHANG COMPUTE COUNT(MAHANG), SUM(SOLUONG) --CU 3 /* H tn, a ch v nm bt u lm vic ca cc nhn vin trong cty*/ SELECT HO, TEN, DIACHI, YEAR(NGAYLAMVIEC) AS NAM FROM NHANVIEN --CU 4 /* a ch, in thoi ca nh cung cp c tn giao dch VINAMILK*/ SELECT * FROM NHACUNGCAP WHERE TENGIAODICH='VINAMILK'

--CU 5 /* M v tn ca cc mt hng c gi tr ln hn 100000 v s lng hin c t hn 50*/ SELECT * FROM MATHANG WHERE (GIAHANG>100000) AND (SOLUONG<50) --CU 6 /* Cho bit mi mt hng trong cng ty do ai cung cp*/ SELECT DISTINCT MATHANG.MAHANG, TENHANG, TENCONGTY FROM MATHANG, NHACUNGCAP WHERE MATHANG.MACONGTY=NHACUNGCAP.MACONGTY --CU 7 /* Cng ty Vit Tin cung cp nhng mt hng no*/ 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'%Vit Tin' --CU 8 /* Loi hng thc phm do nhng cng ty no cung cp, a ch ca cng 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'THC PHM' --CU 9 /* Nhng khch hng no (tn giao dch) t mua mt hng sa hp ca cng 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'SA HP%' --CU 10

/* n t hng s 1 do ai t v do nhn vin no lp, thi gian v a im giao hng 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 --CU 11 /* Hy cho bit s tin lng m cng ty phi tr cho mi nhn vin l bao nhiu (lng=lng c

bn+ph cp)*/
SELECT HO, TEN, LUONGCOBAN+PHUCAP AS 'LNG' FROM NHANVIEN --CU 12 /* Trong n t hng s 3 t mua nhng mt hng no v s tin m khch hng phi tr cho mi

mt hng l bao nhiu(s tin phi tr=s lng x gi bn s lng x gi bn x mc gim gi/100) */
SELECT * FROM MATHANG SELECT MATHANG.MAHANG, SOHOADON, TENHANG, CHITIETDATHANG.SOLUONG*GIABAN*(1-MUCGIAMGIA/100) AS 'S TIN PHI TR' FROM MATHANG, CHITIETDATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG AND CHITIETDATHANG.SOHOADON=3 --CU 13 /* Hy cho bit c nhng khch hng no li chnh l i tc cung cp hng cho cng ty (tc l c cng tn giao dch)*/ SELECT KHACHHANG.TENCONGTY, KHACHHANG.TENGIAODICH FROM KHACHHANG, NHACUNGCAP WHERE KHACHHANG.TENGIAODICH=NHACUNGCAP.TENGIAODICH --CU 14 /* Trong cng ty c nhng nhn vin no c cng ngy 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 --CU 15 /* Nhng n hng no yu cu giao hng ngay ti cng ty t hng v nhng n l ca cng ty no */ SELECT DISTINCT TENCONGTY, DIACHI, NOIGIAOHANG FROM NHACUNGCAP, DONDATHANG WHERE NHACUNGCAP.DIACHI=DONDATHANG.NOIGIAOHANG --CU 16 /* Cho bit tn cng ty, tn giao dch, a ch v in thoi ca cc khch hng v nh cung cp hng cho cng ty*/ SELECT TENCONGTY, TENGIAODICH, DIACHI, DIENTHOAI FROM KHACHHANG UNION SELECT TENCONGTY, TENGIAODICH, DIACHI, DIENTHOAI FROM NHACUNGCAP --CU 17 /* Nhng mt hng no cha tng c khch hng t mua*/ SELECT MAHANG,TENHANG FROM MATHANG WHERE MAHANG NOT IN (SELECT MAHANG FROM CHITIETDATHANG)

--CU 18 /* Nhng nhn vin no ca cng ty cha tng lp ha n t hng no?*/ SELECT MANHANVIEN, HO, TEN FROM NHANVIEN WHERE MANHANVIEN NOT IN (SELECT MANHANVIEN FROM DONDATHANG) --CU 19 --Nhng nhn vin no ca cng ty c lng c bn cao nht? SELECT HO, TEN, LUONGCOBAN FROM NHANVIEN WHERE LUONGCOBAN= (SELECT MAX(LUONGCOBAN) FROM NHANVIEN) --CU 20 --Tng s tin m khch hng phi tr cho mi n t hng l bao nhiu? SELECT * FROM DONDATHANG SELECT * FROM CHITIETDATHANG /*SELECT DISTINCT DONDATHANG.MAKHACHHANG,CHITIETDATHANG.SOHOADON, SUM(SOLUONG*GIABAN) AS 'THANHTIEN' FROM CHITIETDATHANG, DONDATHANG GROUP BY MAKHACHHANG, CHITIETDATHANG.SOHOADON*/ --CCH 1 SELECT DONDATHANG.MAKHACHHANG, CHITIETDATHANG.SOHOADON, SUM(SOLUONG*GIABAN) AS 'THANHTIEN' FROM CHITIETDATHANG, DONDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY MAKHACHHANG,CHITIETDATHANG.SOHOADON --CCH 2: SELECT dondathang.sohoadon,dondathang.makhachhang,tencongty, tengiaodich,SUM(soluong*giaban)as 'thanhtien' --SUM(soluong*giaban-soluong*giaban*mucgiamgia/100) FROM (khachhang INNER JOIN dondathang ON khachhang.makhachhang=dondathang.makhachhang) INNER JOIN chitietdathang ON dondathang.sohoadon=chitietdathang.sohoadon GROUP BY dondathang.makhachhang,tencongty,tengiaodich, dondathang.sohoadon --CU 21 --Trong nm 2006 nhng mt hng m t mua ng mt ln SELECT MATHANG.MAHANG, TENHANG FROM (MATHANG INNER JOIN CHITIETDATHANG ON MATHANG.MAHANG=CHITIETDATHANG.MAHANG)INNER JOIN DONDATHANG ON CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON WHERE YEAR(NGAYDATHANG)=2007 GROUP BY MATHANG.MAHANG, TENHANG HAVING COUNT(CHITIETDATHANG.MAHANG)=1 -- CCH 2: SELECT MAHANG FROM CHITIETDATHANG, DONDATHANG WHERE CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON AND YEAR(NGAYDATHANG)=2007 GROUP BY MAHANG HAVING COUNT(MAHANG)=1 -- CCH 3

SELECT MATHANG.MAHANG FROM MATHANG, DONDATHANG, CHITIETDATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG AND CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON AND YEAR(NGAYDATHANG)=2007 GROUP BY MATHANG.MAHANG, TENHANG HAVING COUNT(CHITIETDATHANG.MAHANG)=1 --CU 22 /* Mi khch hng phi b ra bao nhiu tin t mua hng ca cng 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, TENCONGTY, TENGIAODICH --CU 23 /*Mi nhn vin ca cng ty lp bao nhiu n t hng (nu cha h lp ha n no th cho kt qu l 0)*/ SELECT NHANVIEN.MANHANVIEN, HO, TEN, COUNT(SOHOADON)AS 'SO HOA DON DA LAP' FROM NHANVIEN LEFT JOIN DONDATHANG ON NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN GROUP BY NHANVIEN.MANHANVIEN, HO, TEN --CU 24 /* Tng s tin hng m cng ty thu c trong mi thng ca nm 2006 (thi gian c tnh theo ngy t hng)*/ SELECT MONTH(NGAYDATHANG) AS THANG, SUM(SOLUONG*GIABAN-SOLUONG*GIABAN*MUCGIAMGIA/100)AS 'SO TIEN THU DUOC' FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON AND YEAR(NGAYDATHANG) = 2007 GROUP BY MONTH(NGAYDATHANG) --CU 25 /* Tng s tin li m cng ty thu c t mi mt hng trong nm 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 WHERE A.SOHOADON=B.SOHOADON AND B.MAHANG=C.MAHANG AND YEAR(NGAYDATHANG)=2007 GROUP BY C.MAHANG, TENHANG ORDER BY MAHANG COMPUTE sum(SUM(B.SOLUONG*GIABAN-B.SOLUONG*GIABAN*MUCGIAMGIA/100)SUM(B.SOLUONG*GIAHANG)) --CU 26 /* Tng s lng hng ca mi mt hng m cng ty c (tng s lng hng hin c v bn)*/

SELECT MATHANG.MAHANG, TENHANG,SUM(MATHANG.SOLUONGCHITIETDATHANG.SOLUONG) AS 'TONG SO LUONG CON' FROM CHITIETDATHANG, MATHANG WHERE MATHANG.MAHANG=CHITIETDATHANG.MAHANG GROUP BY MATHANG.MAHANG, TENHANG --CU 27 /* Nhn vin no ca cng ty bn c s lng hng nhiu nht v s lng hng bn c ca mhmg nhn vin ny l bao nhiu*/ --CCH 1 SELECT NHANVIEN.MANHANVIEN,HO,TEN,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 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) --CCH 2 SELECT NHANVIEN.MANHANVIEN, HO, TEN, SUM(CHITIETDATHANG.SOLUONG) FROM NHANVIEN, DONDATHANG, CHITIETDATHANG WHERE NHANVIEN.MANHANVIEN=DONDATHANG.MANHANVIEN AND DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY NHANVIEN.MANHANVIEN, HO, TEN 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, HO, TEN) --CU 28 /* n t hng no c s lng hng c t mua t nht */ 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 DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY DONDATHANG.SOHOADON) --CU 29 /* S tin nhiu nht m khch hng tng b ra t hng trong cc n t hng l bao nhiu*/ SELECT TOP 1 SUM(SOLUONG*GIABAN-SOLUONG*GIABAN*MUCGIAMGIA/100) FROM CHITIETDATHANG, DONDATHANG

WHERE CHITIETDATHANG.SOHOADON=DONDATHANG.SOHOADON ORDER BY 1 DESC --CU 30 /*Mi mt n t hng t mua nhng mt hng no v tng s tin ca n t hng*/ 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 B.MAHANG=C.MAHANG GROUP BY B.SOHOADON, B.MAHANG, C.TENHANG ORDER BY B.SOHOADON COMPUTE COUNT(B.MAHANG),SUM(SUM(B.SOLUONG*GIABAN)) BY B.SOHOADON --CU 31 /* Mi mt loi hng bao gm nhng mt hng no, tng s lng ca mi loi v tng s lng ca tt c cc mt hng hin c trong cty*/ SELECT LOAIHANG.MALOAIHANG, LOAIHANG.TENLOAIHANG, MAHANG, TENHANG, SOLUONG FROM LOAIHANG, MATHANG WHERE MATHANG.MALOAIHANG=LOAIHANG.MALOAIHANG ORDER BY LOAIHANG.MALOAIHANG COMPUTE SUM(SOLUONG) BY (LOAIHANG.MALOAIHANG) COMPUTE SUM(SOLUONG) --CU 32 /*Thng k trong nm 2006 mi mt mt hng trong mi thng v trong c nm bn c vi s lng bao nhiu (Yu cu kt qu hiu th di dng bng, hai ct u l m hng, tn hng, cc ct cn li tng ng t thng 1 n thng 12 v c nm. Nh vy mi dng trong kt qu cho bit s lng hng bn c mi thng v trong c nm ca mi mt hng*/ SELECT b.mahang,tenhang, SUM(CASE MONTH(ngaydathang) WHEN 1 THEN b.soluong ELSE 0 END) AS Thang1, SUM(CASE MONTH(ngaydathang) WHEN 2 THEN b.soluong ELSE 0 END) AS Thang2, SUM(CASE MONTH(ngaydathang) WHEN 3 THEN b.soluong ELSE 0 END) AS Thang3, SUM(CASE MONTH(ngaydathang) WHEN 4 THEN b.soluong ELSE 0 END) AS Thang4, SUM(CASE MONTH(ngaydathang) WHEN 5 THEN b.soluong ELSE 0 END) AS Thang5, SUM(CASE MONTH(ngaydathang) WHEN 6 THEN b.soluong ELSE 0 END) AS Thang6, SUM(CASE MONTH(ngaydathang) WHEN 7 THEN b.soluong ELSE 0 END) AS Thang7, SUM(CASE MONTH(ngaydathang) WHEN 8 THEN b.soluong ELSE 0 END) AS Thang8, SUM(CASE MONTH(ngaydathang) WHEN 9 THEN b.soluong ELSE 0 END) AS Thang9, SUM(CASE MONTH(ngaydathang) WHEN 10 THEN b.soluong ELSE 0 END) AS Thang10, SUM(CASE MONTH(ngaydathang) WHEN 11 THEN b.soluong ELSE 0 END) AS Thang11, SUM(CASE MONTH(ngaydathang) WHEN 12 THEN b.soluong

ELSE 0 END) AS Thang12, SUM(b.soluong) AS CaNam FROM (dondathang AS a INNER JOIN chitietdathang AS b ON a.sohoadon=b.sohoadon) INNER JOIN mathang AS c ON b.mahang=c.mahang WHERE YEAR(ngaydathang)=2007 GROUP BY b.mahang,tenhang --CU 33 /* Cp nht li gi th trng NGAYCHUYENHANG ca nhng bn ghi c NGAYCHUYENHANG cha xc nh (NULL) trong bng DONDATHANG bng vi gi tr ca trng NGAYDATHANG*/ UPDATE DONDATHANG SET NGAYCHUYENHANG=NGAYDATHANG WHERE NGAYCHUYENHANG IS NULL SELECT * FROM DONDATHANG --CU 34 UPDATE MATHANG SET SOLUONG=SOLUONG*2 FROM NHACUNGCAP WHERE NHACUNGCAP.MACONGTY=MATHANG.MACONGTY AND TENGIAODICH=N'VINAMILK' SELECT * FROM MATHANG --CU 35 /* Cp nht gi tr ca trng NOIGIAOHANG trong bng DONDATHANG bng a ch ca khch hng i vi nhng n t hng cha xc nh c ni giao hng (gi tr trng NOIGIAOHANG bng NULL).*/ UPDATE DONDATHANG SET NOIGIAOHANG=DIACHI FROM KHACHHANG WHERE DONDATHANG.MAKHACHHANG=KHACHHANG.MAKHACHHANG AND NOIGIAOHANG=NULL SELECT * FROM DONDATHANG --CU 36 /* Cp nht li d liu trong bng KHACHHANG sao cho nu tn cng ty v tn giao dch ca khch hng trng vi tn cng ty v tn giao dch ca mt nh cung cp no th a ch, in thoi, fax v e-mail phi ging nhau.*/ UPDATE KHACHHANG SET KHACHHANG.DIACHI=NHACUNGCAP.DIACHI, KHACHHANG.DIENTHOAI=NHACUNGCAP.DIENTHOAI, KHACHHANG.FAX=NHACUNGCAP.FAX, KHACHHANG.EMAIL=NHACUNGCAP.EMAIL FROM NHACUNGCAP WHERE KHACHHANG.TENCONGTY=NHACUNGCAP.TENCONGTY and KHACHHANG.TENGIAODICH=NHACUNGCAP.TENGIAODICH SELECT * FROM KHACHHANG --CU 37 /* Tng lng ln gp ri cho nhng nhn vin bn c s lng hng nhiu hn 100 trong nm 2003.*/

UPDATE NHANVIEN SET LUONGCOBAN=LUONGCOBAN*1.5 WHERE MANHANVIEN IN(SELECT MANHANVIEN FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON AND MANHANVIEN=DONDATHANG.MANHANVIEN AND YEAR(DONDATHANG.NGAYGIAOHANG)=2003 GROUP BY MANHANVIEN HAVING SUM(SOLUONG)>100) --CU 38 /* Tng ph cp ln bng 50% lng cho nhng nhn vin bn c hng nhiu nht.*/ UPDATE NHANVIEN SET PHUCAP=LUONGCOBAN/2 WHERE MANHANVIEN IN (SELECT MANHANVIEN FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY MANHANVIEN HAVING SUM(SOLUONG)>=ALL (SELECT SUM(SOLUONG) FROM DONDATHANG, CHITIETDATHANG WHERE DONDATHANG.SOHOADON=CHITIETDATHANG.SOHOADON GROUP BY MANHANVIEN)) SELECT * FROM NHANVIEN --CU 39 /* Gim 25% lng ca nhng nhn vin trong nm 2003 khng lp c bt k n t hng no.*/ UPDATE NHANVIEN SET LUONGCOBAN=LUONGCOBAN*0.85 WHERE NOT EXISTS (SELECT MANHANVIEN FROM DONDATHANG WHERE MANHANVIEN=NHANVIEN.MANHANVIEN AND YEAR(NGAYDATHANG)=2003) SELECT * FROM NHANVIEN --CU 40 /* Gi s trong bng DONDATHANG c thm trng SOTIEN cho bit s tin m khch hng phi tr trong mi n t hng. Hy tnh gi tr cho trng ny.*/ ALTER TABLE DONDATHANG ADD SOTIEN INT UPDATE DONDATHANG SET SOTIEN=(SELECT SUM(SOLUONG*GIABAN+SOLUONG*GIABAN*MUCGIAMGIA) FROM CHITIETDATHANG WHERE SOHOADON=DONDATHANG.SOHOADON GROUP BY SOHOADON) SELECT * FROM DONDATHANG --CU 41 /* Xo khi bng NHANVIEN nhng nhn vin lm vic trong cng ty qu 40 nm.*/ DELETE FROM NHANVIEN WHERE YEAR(GETDATE())-YEAR(NGAYLAMVIEC)>40 SELECT * FROM NHANVIEN

--CU 42 /* Xo nhng n t hng trc nm 2000 ra khi c s d liu.*/ DELETE FROM DONDATHANG WHERE NGAYDATHANG<'1/1/2000' SELECT * FROM DONDATHANG --CU 43 /* Xo khi bng LOAIHANG nhng loi hng hin khng c mt hng.*/ DELETE FROM LOAIHANG WHERE NOT EXISTS (SELECT MALOAIHANG FROM MATHANG WHERE MALOAIHANG=LOAIHANG.MALOAIHANG) SELECT * FROM LOAIHANG --CU 44 /* Xo khi bng KHACHHANG nhng khch hng hin khng c bt k n t hng no cho cng ty.*/ DELETE FROM KHACHHANG WHERE NOT EXISTS (SELECT SOHOADON FROM DONDATHANG WHERE MAKHACHHANG=KHACHHANG.MAKHACHHANG) SELECT * FROM KHACHHANG --CU 45 /* Xo khi bng MATHANG nhng mt hng c s lng bng 0 v khng c t mua trong bt k n t hng no.*/ DELETE FROM MATHANG WHERE SOLUONG=0 AND NOT EXISTS(SELECT SOHOADON FROM CHITIETDATHANG WHERE MAHANG=MATHANG.MAHANG) SELECT * FROM MATHANG

You might also like