Professional Documents
Culture Documents
go
USE DEAN_215122197
go
/* Cau 1 */
CREATE TABLE PHONGBAN
(
MAPHG INT NOT NULL,
TENPHG NVARCHAR(15),
TRPHG CHAR(9),
NG_NHANCHUC DATETIME,
PRIMARY KEY (MAPHG)
)
CREATE TABLE NHANVIEN
(
MANV CHAR(9) NOT NULL,
HONV NVARCHAR(15),
TENLOT NVARCHAR(15),
TENNV NVARCHAR(15),
NGSINH DATETIME,
DCHI NVARCHAR(30),
PHAI NCHAR(3),
LUONG FLOAT,
MA_NQL CHAR(9),
PHG INT,
PRIMARY KEY(MANV)
)
/*CONTRAINST*/
BEGI
N /*
2.3
TRUY
VẤN
LỒNG
+
GOM
NHÓM
*/
--37. Cho biết danh sách các đề án (MADA) có: nhân công với họ (HONV) là 'Đinh'
hoặc có người trưởng phòng chủ trì đề án với họ (HONV) là 'Đinh'.
SELECT PHANCONG.MADA
NHANVIEN.HONV = N'Đinh'
SELECT DEAN.MADA
NHANVIEN.HONV = N'Đinh'
--38. Danh sách những nhân viên (HONV, TENLOT, TENNV) có trên 2 thân
nhân.
SELECT (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' '+ NHANVIEN.TENNV) AS 'Họ
tên nhân viên có trên 2 thân nhân'
FROM NHANVIEN, THANNHAN
--39. Danh sách những nhân viên (HONV, TENLOT, TENNV) không có thân nhân
nào.
SELECT (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' '+ NHANVIEN.TENNV) AS 'Họ
tên nhân viên không có thân nhân'
FROM NHANVIEN
WHERE NHANVIEN.MANV =
THANNHAN.MA_NVIEN
)
--40. Danh sách những trưởng phòng (HONV, TENLOT, TENNV) có tối thiểu một
thân nhân.
SELECT (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' '+ NHANVIEN.TENNV) AS 'Họ
tên trưởng phòng có ít nhất 1 thân nhân'
FROM NHANVIEN, PHONGBAN
WHERE NHANVIEN.MANV =
THANNHAN.MA_NVIEN
)
--41. Tìm họ (HONV) của những trưởng phòng chưa có gia đình.
SELECT NHANVIEN.HONV
WHERE PHONGBAN.TRPHG =
THANNHAN.MA_NVIEN AND
THANNHAN.QUANHE
= N'Vợ chồng'
)
--42. Cho biết họ tên nhân viên (HONV, TENLOT, TENNV) có mức lương trên mức lương
trung bình của phòng "Nghiên cứu".
SELECT (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' ' + NHANVIEN.TENNV) AS 'Họ
tên nhân viên có lương trung bình trên mức lương trung bình của phòng "Nghiên cứu"'
FROM NHANVIEN
WHERE NHANVIEN.PHG =
PHONGBAN.MAPHG AND
PHONGBAN.TENPHG =
N'Nghiên cứu')
--43. Cho biết tên phòng ban và họ tên trưởng phòng của phòn ban có đông nhân viên
nhất.
SELECT PHONGBAN.TENPHG, (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' ' +
NHANVIEN.TENNV) AS 'Họ tên trưởng phòng của phòng ban đông nhân viên nhất'
FROM NHANVIEN, PHONGBAN
WHERE NHANVIEN.PHG =
PHONGBAN.MAPHG
GROUP BY PHONGBAN.MAPHG
--44. Cho biết danh sách các mã đề án mà nhân viên có mã là 009 chưa làm.
SELECT DEAN.MADA
FROM DEAN
FROM PHANCONG
--45. Cho biết danh sách các công việc (tên công việc) trong đề án "Sản phẩm X" mà
nhân viên có mã là 009 chưa làm.
SELECT CONGVIEC.TEN_CONG_VIEC
FROM
CONGVIEC, PHANCONG
WHERE
CONGVIEC.MADA = PHANCONG.MADA AND
PHANCONG.MA_NVIEN = '009')
--46. Tìm họ tên và địa chỉ của những nhân viên làm việc cho một đề án ở 'TP HCM'
nhưng phòng ban mà họ trực thuộc lại không tọa lạc ở thành phố 'TP HCM'.
SELECT DISTINCT (NHANVIEN.HONV + ' ' + NHANVIEN.TENLOT + ' ' +
NHANVIEN.TENNV) AS 'Họ tên nhân viên', NHANVIEN.DCHI
FROM NHANVIEN, DEAN, DIADIEM_PHG
FROM DEAN
) AND
END
GO