You are on page 1of 2

Trường ĐH HUFLIT – Khoa CNTT Môn Cơ sở dữ liệu nâng cao

BÀI TẬP THỰC HÀNH BUỔI 04



Cho cơ sở dữ liệu như sau:

Mã Giới Ngày Mã Công


Tên nhân viên Địa chỉ Chức vụ
NV tính sinh Việc
NV01 Nguyễn Luân Nam 1/1/1994 15 PĐL, Q.Phú Nhuận Bảo vệ BV01
NV02 Lê Hoa Kim Nữ 5/3/1994 543 TC, Q.Tân Phú Giám sát GS02
NVA3 Lê Minh Xuân Nữ 2/8/1994 10 PXL, Q.Phú Nhuận Giám sát GS01
NVA4 Đào Ánh Lý Nam 3/6/1995 65 CH, Q.Tân Phú Bảo vệ BV01
NVB5 Lê Xuân Tâm Nữ 15/9/1995 87 HBT, Q.Phú Nhuận Phó GĐ PGD
NVB6 Nguyễn Thêm Nam 21/8/1995 12 TĐ,Quận 3 Bảo vệ BV02

Số ngày
Mã Thời gian Thời gian
Địa điểm làm việc phép 1 Lương 1 giờ
CV Bắt đầu làm việc Kết thúc
tháng
BV01 Ministop Phú Nhuận 3 10 giờ 22 giờ 200
BV02 Ministop Tân Phú 3 22 giờ 5 giờ 250
GS01 Ministop Phú Nhuận 2 10 giờ 22 giờ 300
GS02 Ministop Tân Phú 2 22 giờ 5 giờ 300
PGD Chi nhánh Phú Nhuận 1 8 giờ 16 giờ 500

Tổng
Mã Số ngày
Tháng tiền Tiền Thưởng Tiền Phạt
NV công
lương
NV01 1 30
NV02 1 25
NVA3 1 30
NVA4 1 31
NVB5 1 31
NVB6 1 28

Yêu cầu : Viết truy vấn SQL để thực hiện các yêu cầu sau.

1. Đặt các biến để lấy ra thông tin của nhân viên có mã là NV01 như sau:

1.1. Biến @ten để lưu Tên nhân viên. 1.11. Biến @L1G để lưu lương 1 giờ

1.2. Biến @ngaysinh để lưu Ngày sinh. 1.12. Biến @SNC để lưu số ngày công.

1.3. Biến @MaNV để lưu Mã Nhân Viên 1.13. Biến @TLuong để lưu tổng lương.

1.4. Biến @Diachi để lưu địa chỉ. 1.14. Biến @Thuong để lưu tiền thưởng

1.5. Biến @Chucvu để lưu chức vụ. 1.15. Biến @Phat để lưu tiền phạt.

1.6. Biến @MaCongViec để lưu Mã công việc

1.7. Biến @DDLV để lưu địa điểm làm việc.

1.8. Biến @snp để lưu số ngày phép 1 tháng.

1.9. Biến @tgBD để lưu thời gian bắt đầu làm việc

1.10. Biến @tgKT để lưu thời gian kết thúc công việc
Trường ĐH HUFLIT – Khoa CNTT Môn Cơ sở dữ liệu nâng cao

2. Tiền công một ngày được tính bằng công thức Số giờ làm việc * Tiền công 1 giờ. Hãy đặt biến @L1Ngay để lưu
tiền Lương 1 ngày cho nhân viên có mã là NV01.

Lưu ý:

- Với ca ngày (từ 0 giờ đến 23 giờ) thì số giờ công được tính bằng công thức Thời gian kết thúc – thời gian bắt đầu.

- Với ca tối ( từ 22 giờ đến 5 giờ) thì số giờ được tính bằng công thức (24- thời gian kết thúc)+Thời gian bắt đầu

3. Tổng tiền lương bằng tổng số ngày * tiền lương 1 ngày. Hãy tính tổng lương cho nhân viên có mã là NV01 sau
đó lưu vào biến @TLuong và cập nhật giá trị vào bảng tiền lương của nhân viên NV01.

4. Tiền thưởng bằng 10% tổng lương của nhân viên. Hãy tính tiền thưởng cho nhân viên có mã là NV01 sau đó lưu
vào biến @Thuong và cập nhật giá trị vào bảng tiền lương của nhân viên NV01.

5. Tiền Phạt được tính bằng công thức : (31-số ngày công)*Tiền công 1 ngày*0.5 . Hãy tính tiền phạt cho nhân viên
NV01 sau đó lưu vào biến @Phat và cập nhật giá trị vào bảng tiền lương của nhân viên NV01.

6. Hãy đặt biến tương tự để cập nhật bảng lương-thưởng- phạt cho những nhân viên còn lại.

7. Hãy đặt biến @LuongCaoNhat để lấy ra tiền lương cao nhất trong bảng lương. Biết rằng Tiền lương nhận được
bằng Tổng tiền Lương + tiền thưởng – tiền phạt.

8. Xuất ra Mã nhân viên, Họ tên, Giới tính, ngày sinh, địa chỉ chức vụ của nhân viên có lương bằng giá trị lưu trong
biến @LuongCaoNhat.

9. Hãy đặt biến @ItNgayNhat để lưu thông tin số ngày làm việc ít nhất trong tháng 1.

10. Xuất ra Mã nhân viên, Họ tên, Giới tính, ngày sinh, địa chỉ, chức vụ của nhân viên làm việc ít ngày nhất trong
tháng 1 sử dụng biến @ItNgayNhat.

You might also like