0% found this document useful (0 votes)
17 views4 pages

Tài Liệu

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views4 pages

Tài Liệu

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 4

HỌ VÀ TÊN: LÊ THỊ MINH THƯ

MSSV:236167
LỚP:DH23TIN07

use [master]
go
create database QLNHANVIEN

USE [QLNHANVIEN]
GO
CREATE TABLE NHAN_VIEN
(
MANV CHAR(20) NOT NULL PRIMARY KEY,
HOTEN NCHAR(50) NOT NULL,
NU BIT,
NGAYSINH DATETIME NOT NULL,
LUONG NUMERIC(18, 3),
MAPB CHAR(20) NOT NULL,
MACV CHAR(20) NOT NULL,
)

GO
CREATE TABLE PHONG_BAN
(
MAPB CHAR(20) NOT NULL PRIMARY KEY,
TENPB NCHAR(50) NOT NULL,
TRUSO NCHAR(50) NOT NULL,
MANVPT CHAR(20) NOT NULL,
KINHPHI NUMERIC(18, 3),
DOANHTHU NUMERIC(18, 3),
)

GO
CREATE TABLE CHUC_VU
(
MACV CHAR(20) NOT NULL PRIMARY KEY,
TENCV NCHAR(30) NOT NULL,
LUONGTHAPNHAT NUMERIC(18, 3),
LUONGCAONHAT NUMERIC(18, 3),
)

GO
Alter table
NHAN_VIEN
add
Constraint PK_MACV FOREIGN KEY (MACV) REFERENCES CHUC_VU(MACV);

GO
Alter table
NHAN_VIEN
add
Constraint PK_MAPB FOREIGN KEY (MAPB) REFERENCES PHONG_BAN(MAPB);

GO
INSERT INTO CHUC_VU (MACV, TENCV, LUONGTHAPNHAT, LUONGCAONHAT)
VALUES
(1, N'Giam doc', 10000000, 20000000),
(2, N'Pho giam doc', 8000000, 15000000),
(3, N'Truong phong', 6000000, 12000000),
(4, N'Pho phong', 4000000, 10000000);

GO
INSERT INTO [dbo]. NHAN_VIEN (MANV, HOTEN, NU, NGAYSINH, LUONG, MAPB,
MACV) VALUES
('1', N'Nguyen A', 0, '1980-01-15', 3000000, '10', '1'),
('2', N'Tran Thi B', 1, '1985-02-20', 3500000, '20', '2'),
('3', N'Le Van T', 0, '1990-03-25', 4000000, '30', '1'),
('4', N'Le Van Tan', 1, '1995-04-30', 4500000, '40', '4'),
('5', N'Hoang Van E', 0, '1982-05-10', 5000000, '50', '3'),
('6', N'Nguyen Thi F', 1, '1987-06-15', 5500000, '10', '1'),
('7', N'Tran Van G', 0, '1992-07-20', 6000000, '20', '2'),
('8', N'Le Thi H', 1, '1997-08-25', 6500000, '40', '3'),
('9', N'Pham Van I', 0, '1984-09-30', 7000000, '40', '4'),
('10', N'Hoang Thi J', 1, '1989-10-05', 7500000, '50', '3'),
('11', N'Nguyen Van K', 0, '1994-11-10', 8000000, '10', '1'),
('12', N'Tran Thi L', 1, '1999-12-15', 8500000, '20', '2'),
('13', N'Le Van M', 0, '1981-01-20', 9000000, '30', '3'),
('14', N'Pham Thi N', 1, '1986-02-25', 9500000, '40', '4'),
('15', N'Hoang Van O', 0, '1991-03-30', 10000000, '50', '3');

GO
INSERT INTO [dbo]. PHONG_BAN (MAPB, TENPB, TRUSO, MANVPT, KINHPHI,
DOANHTHU) VALUES
(10, N'Phong A', N'Hanoi', 1, 10000000, 50000000),
(20, N'Phong B', N'HCM', 2, 20000000, 60000000),
(30, N'Phong C', N'Da Nang', 3, 30000000, 70000000),
(40, N'Phong D', N'Hue', 4, 40000000, 80000000),
(50, N'Phong E', N'Can Tho', 5, 50000000, 90000000);

-- CAU 1:
SELECT [MAPB], [TENPB], [TRUSO], [MANVPT], [KINHPHI], [DOANHTHU]
FROM [dbo].[PHONG_BAN]

-- CAU 2:
SELECT [MANV], [HOTEN], [NGAYSINH]
FROM [dbo].[NHAN_VIEN]
WHERE MONTH ([NGAYSINH])= 10

-- CAU 3a:
SELECT [MANV], [HOTEN], [LUONG] * 12 AS 'LUONG CA NAM'
FROM [dbo].[NHAN_VIEN]

-- CAU 3b:
SELECT [TENPB], MAX([KINHPHI]) AS 'KINH PHI CAO NHAT'
FROM [dbo].[PHONG_BAN]
GROUP BY [TENPB]

-- CAU 4:
SELECT [MANV], [HOTEN], [MAPB]
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB]=40

-- CAU 5.
SELECT [MANV], [HOTEN], [MAPB]
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB] IN (10, 30, 50)

-- CAU 6:
SELECT [MANV], [HOTEN], [LUONG]
FROM [dbo].[NHAN_VIEN]
WHERE [LUONG] BETWEEN 2500000 AND 4000000

-- CAU 7:
GO
SELECT MAX(YEAR(GETDATE())-YEAR([NGAYSINH])) AS 'TUOI LON NHAT'
FROM[dbo]. [NHAN_VIEN] N,[dbo]. [PHONG_BAN] P
WHERE N.[MAPB]= P.[MAPB] AND N. MAPB= '10'

-- CAU 8:
SELECT [MANV], [HOTEN], [LUONG], [MAPB]
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB] IN (10, 30, 50)
ORDER BY [MAPB] ASC, [LUONG] DESC

-- CAU 9:
SELECT [MANV], [HOTEN], [MAPB], [LUONG], [MACV]
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB] IN (10, 30, 50) AND [MACV]=1
ORDER BY [MAPB] ASC, [LUONG] DESC

-- CAU 10:
SELECT [MAPB]
FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]
HAVING MAX([LUONG])>= 4000000

-- CAU 11:
SELECT P.[MAPB], P.[TENPB], N.[MANV], N.[HOTEN]
FROM [dbo].[PHONG_BAN] P JOIN [dbo].[NHAN_VIEN] N
ON N.[MANV]=P.[MANVPT]

-- CAU 12:
SELECT [MANV], [HOTEN], [MAPB], [MACV]
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB] = (SELECT [MAPB] FROM [dbo].[NHAN_VIEN] WHERE [HOTEN] = 'Le
Van Tan')

-- CAU 13:
SELECT N.[MANV], N.[HOTEN], N.[LUONG], N.[MAPB], N.[MACV]
FROM [dbo].[NHAN_VIEN] N JOIN [dbo].[PHONG_BAN] P ON P.MANVPT = N.MANV
WHERE N.MAPB = (SELECT [MAPB] FROM [dbo].[NHAN_VIEN] WHERE [HOTEN] = 'Le
Van Tan')

--CAU 14.
SELECT * FROM [dbo].[NHAN_VIEN]

SELECT MAX([LUONG]) AS LONNHAT


FROM [dbo].[NHAN_VIEN]
WHERE [MAPB]='30'
GO
(SELECT * FROM [dbo].[NHAN_VIEN]
WHERE [MAPB]='30')
GO
SELECT *
FROM [dbo].[NHAN_VIEN]
WHERE [LUONG]>=(SELECT MAX([LUONG]) AS LONNHAT
FROM [dbo].[NHAN_VIEN]
WHERE [MAPB]='30')
--CAU 15.
SELECT PB.[MAPB], [MANV], [HOTEN], [LUONG]
FROM [dbo].[NHAN_VIEN] NV, [dbo].[PHONG_BAN] PB
WHERE NV.[MAPB]=PB.[MAPB]

SELECT [MAPB], MAX([LUONG]) AS 'LUONG CAO NHAT'


FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]
SELECT [MAPB], MIN([LUONG]) AS 'LUONG THAP NHAT'
FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]
SELECT [MAPB], AVG([LUONG]) AS 'LUONG TRUNG BINH'
FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]
SELECT [MAPB], COUNT([MANV]) AS 'TONG SO NHAN VIEN'
FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]
-- CAU 16:
SELECT N.[MANV], N.[HOTEN], N.[LUONG], N.[MAPB]
FROM [dbo].[NHAN_VIEN] N
WHERE N.[LUONG] = (SELECT MAX([LUONG]) FROM [dbo].[NHAN_VIEN] WHERE
[MAPB]=N.[MAPB])

-- CAU 17:
SELECT [MAPB], COUNT([MANV]) AS 'SO LUONG NHAN VIEN'
FROM [dbo].[NHAN_VIEN]
GROUP BY [MAPB]

You might also like