BÀI LÀM:
1. Tao cac bang da cho:
- Tạo bảng SACH:
Create table SACH (MaS char(6) Primary key, TenS char(30), NhaXuatBan char(30), SoLuong integer, DonGia integer);
- Tao bang HOA_DON:
Create table HOA_DON (SoHD byte Primary key, NgayLap Date, TenNV char(30), MaKH char(6) references KHACH_HANG (MaKH));
- Tao bang CHI_TIET_HD:
Create table CHI_TIET_HD ( SoHD byte references HOA_DON (SoHD), SoLuong integer, DonGia integer, MaS char(6) references SACH (MaS), Primary key (SoHD,MaS));
BÀI LÀM: Tao cac bang da cho: Tạo bảng SACH: Create table SACH (MaS char(6) Primary key, TenS char(30), NhaXuatBan char(30), SoLuong integer, DonGia integer); Tao bang HOA_DON: Create table HOA_DON (SoHD byte Primary key, NgayLap Date, TenNV char(30), MaKH char(6) references KHACH_HANG (MaKH)); Tao bang CHI_TIET_HD: Create table CHI_TIET_HD ( SoHD byte references HOA_DON (SoHD), SoLuong integer, DonGia integer, MaS char(6) references SACH (MaS), Primary key (SoHD,MaS)); Tao bang KHACH_HANG: Create table KHACH_HANG ( MaKH char(6) Primary key, TenKH char(30), DiaChi char(40), DienThoai integer); Thực hiện các câu truy vấn để đưa ra: MaKH, TenKH của khách hàng mua sách trong ngày 3/2/2006 SELECT HOA_DON.MaKH, TenKH FROM KHACH_HANG KH, HOA_DON HD WHERE KH.MaKH=HD.MaKH and NgayLap=#3/2/2006#; Tổng tiền bán được của cuốn sách có tên là “Cơ sở dữ liệu”. Đưa ra TenS và Tổng Tiền (Trường TongTien tự đặt). Lệnh tạo trường TongTien: Alter table CHI_TIET_HD add TongTien integer; Lệnh đưa ra TenS và Tổng tiền: Select TenS, Sum(TongTien) As Tong_Tien From SACH S, CHI_TIET_HD CTHD Where S.MaS=CTHD.MaS and TenS= “Cơ sở dữ liệu” Group by TenS; Danh sách nhân viên lập nhiều hoá đơn bán sách nhất. Select TenNV, Count(*) As So_HD From HOA_DON Group by TenNV Having Count(*)>=All (select Count(*) From HOA_DON Group by TenNV); Số lượng bán ra của từng đầu sách trong năm 2005. Yêu cầu đưa ra MaS, TenS, LuongBan (trường LuongBan tự đặt) SELECT CHI_TIET_HD.MaS, TenS, Sum(CHI_TIET_HD.SoLuong) AS LuongBan FROM SACH, HOA_DON, CHI_TIET_HD WHERE SACH.MaS=CHI_TIET_HD.MaS and CHI_TIET_HD.SoHD=HOA_DON.SoHD and Year(NgayLap)=2005 GROUP BY CHI_TIET_HD.MaS, TenS; Tổng tiền bán được trong từng tháng của năm 2004 và năm 2005. Yêu cầu đưa ra năm (Nam), Tháng (Thang) và tổng tiền bán được ứng với từng tháng của năm (TongTien) ( Cac trường Nam, Thang, TongTien tự đặt) Select Month(NgayLap) As Thang, Year(NgayLap) As Nam, Sum(TongTien) As Tong_Tien From CHI_TIET_HD CTHD, HOA_DON HD Where CTHD.SoHD=HD.SoHD and (Year(NgayLap)=2004 or Year(NgayLap)=2005) Group by Month(NgayLap), Year(NgayLap); Khách hàng tiềm năng của công ty (khách hàng có mua sách với số lượng lớn nhất). Yêu cầu đưa ra MaKH, TenKH, LuongMua ( trường LuongMua tự đặt) Select HOA_DON.MaKH, TenKH, Sum(SoLuong) As LuongMua From KHACH_HANG, HOA_DON, CHI_TIET_HD Where KHACH_HANG.MaKH=HOA_DON.MaKH and HOA_DON.SoHD=CHI_TIET_HD.SoHD Group by HOA_DON.MaKH, TenKH Having Sum(SoLuong)>=All(select Sum(SoLuong) From KHACH_HANG, HOA_DON, CHI_TIET_HD Where KHACH_HANG.MaKH=HOA_DON.MaKH and HOA_DON.SoHD=CHI_TIET_HD.SoHD Group by HOA_DON.MaKH, TenKH); Danh sách hoá đơn và số lượng sách ứng với từng hoá đơn được lập năm 2005. Yêu cầu đưa ra SoHD, NgayLap, SoLuongSach (trường SoLuongSach tự đặt) SELECT HOA_DON.SoHD, NgayLap, Sum(SoLuong) AS SoLuongSach FROM HOA_DON, CHI_TIET_HD WHERE HOA_DON.SoHD=CHI_TIET_HD.SoHD and Year(NgayLap)=2005 GROUP BY HOA_DON.SoHD, NgayLap;
Tài liệu đính kèm: