Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

БД / 2

.txt
Скачиваний:
16
Добавлен:
18.02.2017
Размер:
1.81 Кб
Скачать
Запрос 1 Вывести список отделов по алфавиту.
SELECT Department FROM DEP ORDER BY Department
Запрос 2 Вывести всех менеджеров (имя, номер отдела, зарплату), отсортировав их по возрасту.
SELECT Name, ID_Dep, Job, Salary, Born_date
FROM dbo.EMP E inner Join
(SELECT * FROM dbo.JOB WHERE ID_Job = 2) J
On E.ID_Job = J.ID_Job
ORDER BY Born_date DESC
Запрос 3 Вывести одновременно всех менеджеров, работающих в отделе 3, и сотрудников (из всех отделов) с зарплатой выше 2000.
SELECT EMP.Name, JOB.Job, DEP.Department, EMP.Salary
FROM EMP INNER JOIN
JOB ON EMP.ID_Job = JOB.ID_Job INNER JOIN
DEP ON EMP.ID_Dep = DEP.ID_Dep
WHERE (EMP.Salary > 2000) OR
(JOB.Job = N'Менеджер') and (DEP.ID_Dep = N'3')
Запрос 4 Вывести должности и количество сотрудников, их занимающих.
/*SELECT Job, count(*)
FROM dbo.EMP E inner Join
(SELECT * FROM dbo.JOB ) J
On E.ID_Job = J.ID_Job
group by (Job)
Запрос 5 Вывести имена сотрудников, их зарплату и названия отделов, в котором они работают.
SELECT Name, Department, Salary
FROM dbo.EMP E inner Join
(SELECT * FROM dbo. DEP ) J
On E.ID_Dep = J.ID_Dep
Запрос 6 Вывести названия отделов, суммарная зарплата, в которых не превышает 3000.
Select Department
FROM DEP
WHERE (SELECT SUM(Salary) FROM EMP WHERE ID_Dep=DEP.ID_Dep)<30000
Запрос 7 Вывести список сотрудников, не получающих надбавок.
SELECT Name, Bonus FROM dbo.EMP, dbo.Bonus
WHERE Bonus =0
Запрос 8 Вывести сотрудников, работающих в Техническом отделе, участвующих в проектах и получающих надбавки.
SELECT EMP.Name, BONUS.Bonus, DEP.Department, ID_Project
FROM EMP INNER JOIN
BONUS ON EMP.ID_Job = BONUS.ID_Emp INNER JOIN
DEP ON EMP.ID_Dep = DEP.ID_Dep INNER JOIN
PROJECT_EMP ON EMP.ID_Job = BONUS.ID_Emp
WHERE
(DEP.ID_Dep = N'2')
Соседние файлы в папке БД