Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

-- 1.

select e.[empSSN], e.[empName], d.[depNum], d.[depName]


from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d
where e.[depNum] = d.[depNum] and d.[depName] like N'Phòng Nghiên cứu và phát triển';

-- 2.
select p.[proNum], p.[proName], d.[depName]
from [dbo].[tblProject] p, [dbo].[tblDepartment] d
where p.[depNum] = d.[depNum] and d.[depName] like N'Phòng Nghiên cứu và phát triển';

-- 3.
select p.[proNum], p.[proName], d.[depName]
from [dbo].[tblProject] p, [dbo].[tblDepartment] d
where p.[depNum] = d.[depNum] and p.[proName] = 'ProjectB';

-- 4.
select [empSSN], [empName]
from [dbo].[tblEmployee]
where [empName]<>'Mai Duy An' and [supervisorSSN] in
(select [supervisorSSN] from [dbo].[tblEmployee] e where e.[empName]='Mai Duy An');

-- 5.
select [empSSN], [empName]
from [dbo].[tblEmployee]
where [empName]<>'Mai Duy An' and [supervisorSSN] in
(select [supervisorSSN] from [dbo].[tblEmployee] e where e.[empName]<>'Mai Duy An');

-- 6.
select p.[proNum], d.[depName]
from [dbo].[tblProject] p, [dbo].[tblDepartment] d
where p.[depNum] = d.[depNum] and p.[proName] = 'ProjectA';

-- 7.
select p.[proNum], l.[locName]
from [dbo].[tblProject] p, [dbo].[tblLocation] l
where p.[locNum] = l.[locNum] and l.[locName] like N'TP Hồ Chí Minh';

-- 8.
select d.[depName], d.[depBirthdate], e.[empName]
from [dbo].[tblDependent] d, [dbo].[tblEmployee] e
where d.[empSSN] = e.[empSSN] and year(getdate() - year(d.[depBirthdate]))>18;

-- 9.
select d.[depName], d.[depBirthdate], e.[empName]
from [dbo].[tblDependent] d, [dbo].[tblEmployee] e
where d.[empSSN] = e.[empSSN] and d.[depSex]='M';

-- 10.
select d.[depNum], d.[depName], l.[locName]
from [dbo].[tblDepartment] d, [dbo].[tblDepLocation] dl, [dbo].[tblLocation] l
where d.[depNum]=dl.[depNum] and dl.[locNum]=l.[locNum] and d.[depName] like N'Phòng
Nghiên cứu và phát triển';

-- 11.
select p.[proNum], p.[proName], d.[depName]
from [dbo].[tblProject] p, [dbo].[tblDepartment] d, [dbo].[tblLocation] l
where p.[depNum]=d.[depNum] and p.[locNum]=l.[locNum] and l.[locName] like N'TP Hồ Chí
Minh';

-- 12.
select e.[empName], depend.[depName], depend.[depRelationship]
from [dbo].[tblEmployee] e, [dbo].[tblDependent] depend, [dbo].[tblDepartment] d
where e.[empSSN]=depend.[empSSN] and e.[depNum]=d.[depNum] and e.[empSex]='F' and d.
[depName] like N'Phòng Nghiên cứu và phát triển';
-- 13.
select e.[empName], depend.[depName], depend.[depRelationship]
from [dbo].[tblEmployee] e, [dbo].[tblDependent] depend, [dbo].[tblDepartment] d
where e.[empSSN]=depend.[empSSN] and e.[depNum]=d.[depNum]
and year(getdate() - year(depend.[depBirthdate]))>18 and d.[depName] like N'Phòng
Nghiên cứu và phát triển';

-- 14.
select [depSex], count(*) as numsDepend
from [dbo].[tblDependent]
group by [depSex];

-- 15.
select [depRelationship], count(*) as numsDepend
from [dbo].[tblDependent]
group by [depRelationship];

-- 16.
select d.[depNum], d.[depName], count(e.[empSSN]) as numsDepend
from [dbo].[tblDepartment] d, [dbo].[tblEmployee] e
where e.[depNum]=d.[depNum]
group by d.[depNum], d.[depName];

-- 17.
select top 1 d.[depNum], d.[depName], count(e.[empSSN]) as numsDepend
from [dbo].[tblDepartment] d, [dbo].[tblEmployee] e
where e.[depNum]=d.[depNum]
group by d.[depNum], d.[depName]
order by count(e.[empSSN]) asc;

-- 18.
select top 1 d.[depNum], d.[depName], count(e.[empSSN]) as numsDepend
from [dbo].[tblDepartment] d, [dbo].[tblEmployee] e
where e.[depNum]=d.[depNum]
group by d.[depNum], d.[depName]
order by count(e.[empSSN]) desc;

-- 19.
select e.[empSSN], e.[empName], d.[depName], sum(w.[workHours]) as numsHour
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblWorksOn] w
where e.[depNum] = d.[depNum] and e.[empSSN] = w.[empSSN]
group by e.[empSSN], e.[empName], d.[depName];

-- 20.
select d.[depNum], d.[depName], sum(w.[workHours]) as numsHour
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblWorksOn] w
where e.[depNum] = d.[depNum] and e.[empSSN] = w.[empSSN]
group by d.[depNum], d.[depName];

-- 21.
select top 1 e.[empSSN], e.[empName], d.[depName], sum(w.[workHours]) as numsHour
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblWorksOn] w
where e.[depNum] = d.[depNum] and e.[empSSN] = w.[empSSN]
group by e.[empSSN], e.[empName], d.[depName]
order by sum(w.[workHours]) asc;

-- 22.
select top 1 e.[empSSN], e.[empName], d.[depName], sum(w.[workHours]) as numsHour
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblWorksOn] w
where e.[depNum] = d.[depNum] and e.[empSSN] = w.[empSSN]
group by e.[empSSN], e.[empName], d.[depName]
order by sum(w.[workHours]) desc;

-- 23.
select e.[empSSN], e.[empName], d.[depName]
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblProject] p
where e.[depNum] = d.[depNum] and d.[depNum] = p.[depNum]
group by e.[empSSN], e.[empName], d.[depName]
having count(p.[proNum]) = 1;

-- 24.
select e.[empSSN], e.[empName], d.[depName]
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblProject] p
where e.[depNum] = d.[depNum] and d.[depNum] = p.[depNum]
group by e.[empSSN], e.[empName], d.[depName]
having count(p.[proNum]) = 2;

-- 25.
select e.[empSSN], e.[empName], d.[depName]
from [dbo].[tblEmployee] e, [dbo].[tblDepartment] d, [dbo].[tblProject] p
where e.[depNum] = d.[depNum] and d.[depNum] = p.[depNum]
group by e.[empSSN], e.[empName], d.[depName]
having count(p.[proNum]) >= 2;

You might also like