Viết 25 câu hỏi về Select trong đó có sử dụng: (lưu ý viết cả câu hỏi và câu trả lời)

Một phần của tài liệu Bài tập môn học hệ quản trị cơ sở dữ liệu sql server Đề tài quản lý bán hàng (Trang 32 - 40)

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER

E. Viết 25 câu hỏi về Select trong đó có sử dụng: (lưu ý viết cả câu hỏi và câu trả lời)

 Hàm day, month, year, datediff, getdate

 Hàm Count; Hàm max ; min ; Sum ;có Group by ; có Order by

 Truy vấn trên một bảng có where ; Truy vấn trên nhiều bảng có where

 Sử dụng Select lồng nhau; …

1. Đưa ra mã nhân viên, họ tên, ngày sinh của nhân viên nữ sinh vào quý III

select manv,hodem,ten ngaysinh, from nhanvien

where month(ngaysinh) in (7,8 9, )

and gioitinh 0=

2.Đưa ra mã nhân viên, họ đệm, tên, trình độ học vấn những nhân viên sinh sau năm 1997 có trình độ đại học

select manv,hodem,ten ngaysinh tentdhv, , from nhanvien,trinhdohocvan

where nhanvien.matdhv=trinhdohocvan matdhv. and year(ngaysinh 1997)>

and tentdhv=N'đại học'

3.Đưa ra mã nhân viên họ đệm, tên tuổi của nhân viên thuộc phòng kế toán, ,

select manv,hodem,ten,datediff(yyyy ngaysinh,, getdate())as [Tuổi]

from nhanvien,phongban

where nhanvien.mapb=phongban.mapb

and tenphongban=N'Kế toán'

4. Đưa ra mã nhân viên, họ đệm, tên những nhân viên có sinh nhật trước ngày 20 07 1994/ /

select manv,hodem,ten ngaysinh, from nhanvien

where year(ngaysinh 1994)<

or(year(ngaysinh 1994 )= and month(ngaysinh 7)< ) or( year(ngaysinh 1994 )= and month(ngaysinh 7)=

and day(ngaysinh 20)< )

5. Đưa ra số lượng nhân viên mỗi phòng ban

select tenphongban,count(*)as[Số nhân viên]

from nhanvien,phongban

where nhanvien.mapb=phongban.mapb

group by tenphongban

6.Đưa ra mã nhân viên, họ đệm, tên của từng nhân viên và sắp xếp theo chiều lương giảm dần

select manv, hodem, ten, luongcoban hesoluong hesophucap*( + )as[Lương tháng]

from nhanvien,phongban luong,

where luong.bacluong nhanvien bacluong= .

and phongban mapb=nhanvien.mapb.

order by luongcoban*(hesoluong hesophucap + )DESC

7.Đưa ra mã nhân viên, họ đệm, tên, lương của nhân viên có lương cao nhất công ty

select manv, hodem, ten, luongcoban hesoluong+hesophucap)*( as[Lương]

from nhanvien,luong

where luong.bacluong nhanvien bacluong= .

and luongcoban hesoluong hesophucap*( + )

=(select max(luongcoban hesoluong+hesophucap*( )) from nhanvien,luong

where luong.bacluong nhanvien bacluong= . )

8.Đưa ra mã nhân viên họ đệm, tên, lương của nhân viên có lương thấp nhất phòng , kế toán

select manv, hodem, ten, luongcoban hesoluong+hesophucap)*( as[Lương]

from nhanvien,luong

where luong.bacluong nhanvien bacluong= .

and luongcoban hesoluong hesophucap*( + )

=(select min(luongcoban hesoluong+hesophucap*( )) from nhanvien,luong,phongban

where luong bacluong . = nhanvien bacluong.

and phongban mapb=nhanvien.mapb. and tenphongban=N'kế toán')

9.Đưa ra mã nhân viên họ tên lương của nhân viên có lương mức lương trung , , <

bình của cả công ty

select manv,hodem,ten luongcoban hesoluong hesophucap [Lương tháng], *( + )as from nhanvien,luong

where luong.bacluong nhanvien bacluong= .

and luongcoban hesoluong hesophucap*( + )

<(select avg(luongcoban hesoluong hesophucap*( + )) from nhanvien,luong

where nhanvien.bacluong luong.bacluong= )

10. Đưa ra tổng lương mà công ty chi trả cho mỗi phòng ban

select tenphongban,sum(luongcoban hesoluong hesophucap*( + ))as[Tổng lương]

from nhanvien,luong,phongban

where nhanvien.bacluong luong.bacluong= and nhanvien mapb=phongban.mapb. group by tenphongban

11.Đưa mã nhân viên, họ đệm, tên, phòng ban, địa chỉ của nhân viên có chức vụ là nhân viên địa chỉ ở Quảng Ninh và thuộc phòng phát triển thị trường,

select manv,hodem,tenphongban,tenchucvu diachi, from nhanvien,phongban chucvu,

where nhanvien.macv chucvu macv= . and nhanvien mapb=phongban.mapb. and diachi like N'%Quảng Ninh' and tenphongban=N'Phát triển thị trường' and tenchucvu=N'nhân viên'

12 Đưa ra họ tên của từng trưởng phòng của từng phòng ban trong công ty

select manv, hodem ten,tenphongban, from nhanvien,chucvu phongban, where nhanvien.macv chucvu macv= .

and nhanvien mapb=phongban.mapb. and tenchucvu=N'trưởng phòng'

13. Đưa ra họ tên và chuyên ngành của những nhân viên có trình độ học vấn đại học

select hodem,ten chuyennganh, from nhanvien,trinhdohocvan

where nhanvien.matdhv trinhdohocvan= .matdhv and tentdhv=N'đại học'

14. Đưa ra họ tên trưởng phòng tên phòng ban của nhân viên có mã nhân viên là , nv003

select hodem,ten tenphongban, from nhanvien,phongban,chucvu where nhanvien.mapb phongban mapb= . and nhanvien.macv chucvu= .macv and tenchucvu=N'trưởng phòng'

and nhanvien.mapb=(select nhanvien.mapb from nhanvien where manv='nv003') 15. Đưa ra số lượng nhân viên theo trình độ học vấn

select tentdhv,count(*)as[Số nhân viên]

from nhanvien,trinhdohocvan

where nhanvien.matdhv=trinhdohocvan matdhv. group by tentdhv

16.Đưa ra họ tên những nhân viên những nhân viên có họ là Hoàng

select hodem,ten from nhanvien

where hodem like N'Hoàng%' 17.Đưa ra tổng lương của nhân viên

select sum(luongcoban hesoluong hesophucap*( + )) [Tổng lương]as from nhanvien,luong

where nhanvien.bacluong luong.bacluong=

18.Đưa ra số lượng nhân viên nam và số lượng nhân viên nữ select gioitinh ,count(*)as[số nhân viên]

from nhanvien group by gioitinh

19.Đưa ra họ tên, phòng ban của nhân viên có lương >15 000 000 select hodem, ten tenphongban,

from nhanvien,phongban luong,

where nhanvien.bacluong luong.bacluong = and nhanvien mapb phongban. = .mapb and

luongcoban hesoluong hesophucap 15000000*( + )>

20. Mức lương trung bình của một người ở mỗi phòng ban select tenphongban,avg(luongcoban hesoluong hesophucap*( + )) from nhanvien,phongban luong,

where nhanvien.mapb=phongban.mapb and nhanvien bacluong luong bacluong. = . group by tenphongban

21.Đưa ra họ tên nhân viên có mức lương KHÔNG nằm trong khoảng 10 000 000 đến 15 000 000

select hodem,ten from nhanvien,luong

where nhanvien.bacluong luong.bacluong=

and luongcoban hesoluong hesophucap *( + ) not between 10000000 and 15000000 22. Đưa ra họ tên những nhân viên có tên bắt đầu bằng H, kí tự thứ 3 là n

select hodem, ten from nhanvien where ten like N'H_n%'

23.Đưa ra số lượng nhân viên nam có quê ở Hải Dương

select hodem,ten from nhanvien

where diachi like N'%Hải Dương' and gioitinh='1'

24.Đưa ra những nhân viên có sinh nhật vào tháng 7 hoặc tháng 8 ở phòng kế toán

select hodem,ten from nhanvien,phongban

where nhanvien.mapb=phongban.mapb and month(ngaysinh) in( , )7 8

and tenphongban =N'Kế toán'

25.Đưa ra họ tên, tuổi nhân viên có tuổi >30

select hodem,ten,datediff(yyyy,ngaysinh,getdate())as [Tuổi]

from nhanvien

where datediff(yyyy,ngaysinh,getdate()) >30

Một phần của tài liệu Bài tập môn học hệ quản trị cơ sở dữ liệu sql server Đề tài quản lý bán hàng (Trang 32 - 40)

Tải bản đầy đủ (PDF)

(42 trang)