Danh mục

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    
Thu Hiền

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 ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: