Professional Documents
Culture Documents
Dbi Fuh 1 25
Dbi Fuh 1 25
-- 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;