Bài tập ôn thi SQL
Số trang: 15
Loại file: doc
Dung lượng: 107.00 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tài liệu tham khảo về bài tập ôn thi SQL
Nội dung trích xuất từ tài liệu:
Bài tập ôn thi SQLBài TậpTuan 3 -Viết ViewTuan 4 -Viết CursorTuan 5 -Viết SPTuan 6 -Viết TriggerTuan 7-Viết Function------------------------------------VIEW---------------------Tuần 3câu 1--Cho biết danh số xuất từng mặt hàng trong 6 tháng đầu nămcreate view cau_1as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [DOANH THU] from HOA_DON_XUAT HD,CHI_TIET_XUAT CT,MAT_HANG MH where HD.SOHDX=CT.SOHDX and CT.MAMH=MH.MAMH and year(getdate())=year(NGAYXUAT) and month(NGAYXUAT)between 1 and 6 group by TENMH-----------------------------------------------------------câu 2--Cho biết mặt hàng có doanh số lớn nhấtcreate view cau_2as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [MAX DOANHTHU] from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH having sum(DONGIAXUAT*SOLUONGXUAT)>=all(selectsum(DONGIAXUAT*SOLUONGXUAT) from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH)---------------------------------------------------------- câu 3--Cho biết những mặt hàng có doanh thu lớn hơn 1bcreate view cau_3as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [DOANH THU] from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH having sum(DONGIAXUAT*SOLUONGXUAT)>1000000000-----------------------------------------------------------câu 4--Cho biết đơn giá nhập trung bình của từng mặt hàngcreate view cau_4as select TENMH,avg(DONGIANHAP) as [ĐƠN GIÁ NHẬP TB] from MAT_HANG MH,HOA_DON_NHAP HD,CHI_TIET_NHAP CT where HD.SOHDN=CT.SOHDN and MH.MAMH=CT.MAMH group by TENMH-----------------------------------------------------------câu 5--Cho biết thành tiền của từng mặt hàng theo từng hoá đơnvà tổng tiền của từng hoá đơn----------------------------------------------------------- câu 6--Cho biết thông tin nhân viên chưa nhập hàng bao giờcreate view cau_6as select * from NHAN_VIEN where MANV not in (select MANV from HOA_DON_NHAP)-----------------------------------------------------------câu 7--Cho biết những mặt hàng nhập chưa bao giờ báncreate view cau_7as select * from MAT_HANG where MAMH not in (select MAMH from HOA_DON_NHAP)---------------------------------------------------------câu 8--Cho biết những nhà cung cấp cung ứng những mặt hàng giốngnhà cung cấp 1create view cau_8as select TENNCC from NHA_CUNG_CAP NCC,CHI_TIET_NHAP CT,MAT_HANG MH where NCC.MANCC=MH.MANCC and MH.MAMH=CT.MAMH and MH.MAMH in (select MAMH from NHA_CUNG_CAPNCC,MAT_HANG MH where NCC.MANCC=MH.MANCC and NCC.MANCC=1)--------------------------------------------------------- câu 9(hỏi lại)--Tạo và mã hoá view : cho biết những mặt hàng chưa đượcxuất trong năm hiện tạicreate view cau_9with encryption as select TENMH from MAT_HANG where MAMH in (select MH.MAMH from MAT_HANG MH,HOA_DON_XUATHD,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH and HD.SOHDX=CT.SOHDX and NGAYXUAT=year(getdate()))câu 10--Cho biết danh sách mặt hàng thuộc loại 1 có sử dụng WITHCHECK OPTION. Sau đó chèn thử 1 bảng ghi vào view nàycreate view cau_10as select * from MAT_HANG where MAMH=1 with check optioninsert into cau_10 values(0,1,NMẶT HÀNG 1,NTẤN,NGOOD)select * from cau_10-----------------------------------CURSOR--------------------Tuần 4câu 1--Viết một đoạn lệnh sử dụng con trỏ để hiển thị danh sáchkhách hàng. Nếu khách hàng đã mua 10 lần thì thông báo được-- khuyến mại 100 USD, mua 20 lần khuyến mại 200 USD.Distinct: bo nhug ket qua trug nhau--khai báo biến cục bộdeclare @MAKH char(6),@solan tinyint--khai báo biến cursordeclare cur_khuyenmai cursordynamicfor select distinct MAKH from HOA_DON_XUAT--mở cursoropen cur_khuyenmai--đọc dữ liệufetch first from cur_khuyenmai into @MAKHwhile @@fetch_status=0begin select @solan=count(*) from HOA_DON_XUAT where @MAKH=MAKH --print select * from KHACH_HANG where @MAKH=MAKH if @solan>=3 print Khách hàng: +@MAKH+được khuyến mãi20% vì đã mua: +cast(@solan as char(3))+lần else print Khách hàng: +@MAKH+được khuyến mãi10% vì đã mua: +cast(@solan as char(3))+lần fetch next from cur_khuyenmai into @MAKHend--đóng cursorclose cur_khuyenmaideallocate cur_khuyenmai----------------------------------------------------------câu 2--Thêm một thuộc tính trong So_MH_CC kiểu dữ liệu số nguyêntrong bảng NhaCungCap để lưu số lượng mặt hàng mà công ty-- đó cung cấp. Viết cursor cập nhật ...
Nội dung trích xuất từ tài liệu:
Bài tập ôn thi SQLBài TậpTuan 3 -Viết ViewTuan 4 -Viết CursorTuan 5 -Viết SPTuan 6 -Viết TriggerTuan 7-Viết Function------------------------------------VIEW---------------------Tuần 3câu 1--Cho biết danh số xuất từng mặt hàng trong 6 tháng đầu nămcreate view cau_1as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [DOANH THU] from HOA_DON_XUAT HD,CHI_TIET_XUAT CT,MAT_HANG MH where HD.SOHDX=CT.SOHDX and CT.MAMH=MH.MAMH and year(getdate())=year(NGAYXUAT) and month(NGAYXUAT)between 1 and 6 group by TENMH-----------------------------------------------------------câu 2--Cho biết mặt hàng có doanh số lớn nhấtcreate view cau_2as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [MAX DOANHTHU] from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH having sum(DONGIAXUAT*SOLUONGXUAT)>=all(selectsum(DONGIAXUAT*SOLUONGXUAT) from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH)---------------------------------------------------------- câu 3--Cho biết những mặt hàng có doanh thu lớn hơn 1bcreate view cau_3as select TENMH,sum(DONGIAXUAT*SOLUONGXUAT) as [DOANH THU] from MAT_HANG MH,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH group by TENMH having sum(DONGIAXUAT*SOLUONGXUAT)>1000000000-----------------------------------------------------------câu 4--Cho biết đơn giá nhập trung bình của từng mặt hàngcreate view cau_4as select TENMH,avg(DONGIANHAP) as [ĐƠN GIÁ NHẬP TB] from MAT_HANG MH,HOA_DON_NHAP HD,CHI_TIET_NHAP CT where HD.SOHDN=CT.SOHDN and MH.MAMH=CT.MAMH group by TENMH-----------------------------------------------------------câu 5--Cho biết thành tiền của từng mặt hàng theo từng hoá đơnvà tổng tiền của từng hoá đơn----------------------------------------------------------- câu 6--Cho biết thông tin nhân viên chưa nhập hàng bao giờcreate view cau_6as select * from NHAN_VIEN where MANV not in (select MANV from HOA_DON_NHAP)-----------------------------------------------------------câu 7--Cho biết những mặt hàng nhập chưa bao giờ báncreate view cau_7as select * from MAT_HANG where MAMH not in (select MAMH from HOA_DON_NHAP)---------------------------------------------------------câu 8--Cho biết những nhà cung cấp cung ứng những mặt hàng giốngnhà cung cấp 1create view cau_8as select TENNCC from NHA_CUNG_CAP NCC,CHI_TIET_NHAP CT,MAT_HANG MH where NCC.MANCC=MH.MANCC and MH.MAMH=CT.MAMH and MH.MAMH in (select MAMH from NHA_CUNG_CAPNCC,MAT_HANG MH where NCC.MANCC=MH.MANCC and NCC.MANCC=1)--------------------------------------------------------- câu 9(hỏi lại)--Tạo và mã hoá view : cho biết những mặt hàng chưa đượcxuất trong năm hiện tạicreate view cau_9with encryption as select TENMH from MAT_HANG where MAMH in (select MH.MAMH from MAT_HANG MH,HOA_DON_XUATHD,CHI_TIET_XUAT CT where MH.MAMH=CT.MAMH and HD.SOHDX=CT.SOHDX and NGAYXUAT=year(getdate()))câu 10--Cho biết danh sách mặt hàng thuộc loại 1 có sử dụng WITHCHECK OPTION. Sau đó chèn thử 1 bảng ghi vào view nàycreate view cau_10as select * from MAT_HANG where MAMH=1 with check optioninsert into cau_10 values(0,1,NMẶT HÀNG 1,NTẤN,NGOOD)select * from cau_10-----------------------------------CURSOR--------------------Tuần 4câu 1--Viết một đoạn lệnh sử dụng con trỏ để hiển thị danh sáchkhách hàng. Nếu khách hàng đã mua 10 lần thì thông báo được-- khuyến mại 100 USD, mua 20 lần khuyến mại 200 USD.Distinct: bo nhug ket qua trug nhau--khai báo biến cục bộdeclare @MAKH char(6),@solan tinyint--khai báo biến cursordeclare cur_khuyenmai cursordynamicfor select distinct MAKH from HOA_DON_XUAT--mở cursoropen cur_khuyenmai--đọc dữ liệufetch first from cur_khuyenmai into @MAKHwhile @@fetch_status=0begin select @solan=count(*) from HOA_DON_XUAT where @MAKH=MAKH --print select * from KHACH_HANG where @MAKH=MAKH if @solan>=3 print Khách hàng: +@MAKH+được khuyến mãi20% vì đã mua: +cast(@solan as char(3))+lần else print Khách hàng: +@MAKH+được khuyến mãi10% vì đã mua: +cast(@solan as char(3))+lần fetch next from cur_khuyenmai into @MAKHend--đóng cursorclose cur_khuyenmaideallocate cur_khuyenmai----------------------------------------------------------câu 2--Thêm một thuộc tính trong So_MH_CC kiểu dữ liệu số nguyêntrong bảng NhaCungCap để lưu số lượng mặt hàng mà công ty-- đó cung cấp. Viết cursor cập nhật ...
Tìm kiếm theo từ khóa liên quan:
công nghệ thông tin quản trị mạng tin học văn phòng cơ sở dữ liệu kỹ thuật lập trìnhGợi ý tài liệu liên quan:
-
73 trang 427 2 0
-
52 trang 426 1 0
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 376 6 0 -
24 trang 351 1 0
-
Nhập môn Tin học căn bản: Phần 1
106 trang 324 0 0 -
Giáo trình Tin học văn phòng: Phần 2 - Bùi Thế Tâm
65 trang 313 0 0 -
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 309 0 0 -
74 trang 293 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 290 0 0