Đăng ký Đăng nhập

Tài liệu Nhanvien2

.DOC
2
352
84

Mô tả:

1. Tạo và nhập dữ liệu. Quy định khóa chính, Bảng NHANVIEN (MANV), Bảng Phongban(MAPB), Bảng PHANCONG (MANV, MADA). create table phongban (mapb varchar(20) not null constraint pk primary key, tenpb varchar(20)); create table nhanvien (manv varchar(20) not null constraint pk2 primary key, hoten varchar(20), nsinh datetime, phai varchar(20), lgncn varchar(20), mapb varchar(20) constraint pk3 references phongban(mapb), ghichu varchar(50)); create table phancong (manv varchar(20) not null constraint pk4 references nhanvien(manv), mada varchar(20) not null, songay int, constraint pk5 primary key (manv,mada)); 2. Hiển thị bảng thanh toán tiền nhân viên gồm các thông tin: MANV, HOTEN, NSINH, MAPB, SONGAY, LUONG. Trong đó LUONG = LNGCN * SONGAY. select b.manv, b.hoten, b.nsinh, b.mapb, c.songay, b.lngcn*c.songay as luong from nhanvien b, phancong c where b.manv=c.manv; 3. Tạo khung nhìn có tên là DUAN để hiển thị tổng số ngày thực hiện dự án của mỗi phòng gồm thông tin MAPB, TENPB, TONGSONGAY. select b.mapb, sum(c.songay)as tgsongay from nhanvien b, phancong c where b.manv=c.manv group by mapb; 4. Dựa vào thông tin của khung nhìn DUAN, hiển thị phòng ban có ngày thực hiện dự án lớn nhất select mapb, max(tgsongay) from duan where tgsongay=(select max(tgsongay) from duan where duan.mapb=duan.mapb) group by mapb; 5. Hiển thị nhân viên có số ngày thực hiện dự án cao nhất gồm các thông tin: MANV, HOTEN, MAPB, TENPB, SONGAY. select b.manv, b.hoten, a.mapb, a.tenpb, c.songay from phongban a, nhanvien b,phancong c where a.mapb=b.mapb and b.manv=c.manv and c.songay= (select max(songay) from nhanvien, phancong where nhanvien.manv=phancong.manv); 6. Hiển thị các dự án và tổng số ngày thực hiện của những dự án mà không có trưởng phòng tham gia. select c.mada, (sum(c.songay))as tgsongay from nhanvien b, phancong c where b.manv=c.manv and ghichu is null group by mada; 7. Hiển thị số lượng nam/nữ của mỗi phòng gồm các thông tin: MAPB, TENPB, PHAI, SOLUONG. select a.mapb, a.tenpb, b.phai, count(b.manv) as soluong from phongban a, nhanvien b where a.mapb=b.mapb group by a.mapb,a.tenpb,b.phai; 8. Hiển thị nhân viên có số ngày thực hiện dự án bé hơn số ngày trung bình của mỗi nhân viên thực hiện trong 1 dự án. select b.manv, hoten, b.mapb, c.songay from nhanvien b, phancong c where b.manv=c.manv and c.songay< (select avg(songay) from phancong where c.mada=phancong.mada group by mada); 9. Hiển thị các dự án có số ngày trung bình của mỗi nhân viên thực hiện trong dự án lớn hơn 12. select manv ,mada ,avg(songay) as tbngay from phancong group by mada, manv having avg(songay)>12; 10. Hiển thị những nhân viên sinh trong tháng 12. select * from nhanvien where month(nsinh)=12;
- Xem thêm -

Tài liệu liên quan