1. Выбрать сотрудников среднего звена (Вернуть: фамилию сотрудника. Сотрудник среднего звена - это сотрудник, у которого есть подчиненные и который сам является подчиненным ).
  2. Вывести табельный номер руководителей, у которых количество сотрудников больше двух.
  3. Выбрать департамент с максимальной средней зарплатой (вернуть: название филиала, максимальная средняя зарплата).
  4. Выбрать руководителя, расположение его филиала, суммарную зарплату его непосредственных подчиненных (вернуть: фамилию руководителя, расположение филиала, суммарную зарплату по филиалу. Руководителем является сотрудник, подчиняющийся непосредственно президенту компании ).

Для выполнения заданий необходимо создать таблицы EMP и DEPT (синтаксис указан для MySQL):

CREATE TABLE dept (
  deptno decimal(2, 0) DEFAULT NULL COMMENT 'Номер филиала',
  dname varchar(14) DEFAULT NULL COMMENT 'Название филиала',
  loc varchar(13) DEFAULT NULL COMMENT 'Город, в котором расположен филиал'
)
COMMENT = 'Филиалы фирмы';

ALTER TABLE dept
ADD UNIQUE INDEX UK_dept_deptno (deptno);
--
-- Create table `emp`
--
CREATE TABLE emp (
  empno decimal(4, 0) NOT NULL COMMENT 'Табельный номер',
  ename varchar(10) DEFAULT NULL COMMENT 'Фамилия',
  job varchar(9) DEFAULT NULL COMMENT 'Должность',
  mgr decimal(4, 0) DEFAULT NULL COMMENT 'Табельный номер руководителя',
  hiredate date DEFAULT NULL COMMENT 'Дата приема на работу',
  sal decimal(7, 2) DEFAULT NULL COMMENT 'Заработная плата',
  comm decimal(7, 2) DEFAULT NULL COMMENT 'Комментарий',
  deptno decimal(2, 0) DEFAULT NULL COMMENT 'Номер филиала'
)
COMMENT = 'Сотрудники';


ALTER TABLE emp
ADD UNIQUE INDEX UK_emp_empno (empno);

--
-- Create foreign key
--
ALTER TABLE emp
ADD CONSTRAINT FK_emp_deptno FOREIGN KEY (deptno)
REFERENCES dept (deptno) ON DELETE NO ACTION;



INSERT INTO dept VALUES ('10','ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES ('20','RESEARCH','DALLAS');
INSERT INTO dept VALUES ('30','SALES','CHICAGO');
INSERT INTO dept VALUES ('40','OPERATIONS','BOSTON');

INSERT INTO emp VALUES ('7369','SMITH','CLERK','7902','1980-12-17','800.00',NULL,'20');
INSERT INTO emp VALUES ('7499','ALLEN','SALESMAN','7698','1981-02-20','1600.00','300.00','30');
INSERT INTO emp VALUES ('7521','WARD','SALESMAN','7698','1981-02-22','1250.00','500.00','30');
INSERT INTO emp VALUES ('7566','JONES','MANAGER','7839','1981-04-02','2975.00',NULL,'20');
INSERT INTO emp VALUES ('7654','MARTIN','SALESMAN','7698','1981-09-28','1250.00','1400.00','30');
INSERT INTO emp VALUES ('7698','BLAKE','MANAGER','7839','1981-05-01','2850.00',NULL,'30');
INSERT INTO emp VALUES ('7782','CLARK','MANAGER','7839','1981-06-09','2450.00',NULL,'10');
INSERT INTO emp VALUES ('7788','SCOTT','ANALYST','7566','1982-12-09','3000.00',NULL,'20');
INSERT INTO emp VALUES ('7839','KING','PRESIDENT',NULL,'1981-11-17','5000.00',NULL,'10');
INSERT INTO emp VALUES ('7844','TURNER','SALESMAN','7698','1981-09-08','1500.00','0.00','30');
INSERT INTO emp VALUES ('7876','ADAMS','CLERK','7788','1983-01-12','1100.00',NULL,'20');
INSERT INTO emp VALUES ('7900','JAMES','CLERK','7698','1981-12-03','950.00',NULL,'30');
INSERT INTO emp VALUES ('7902','FORD','ANALYST','7566','1981-12-03','3000.00',NULL,'20');
INSERT INTO emp VALUES ('7934','MILLER','CLERK','7782','1982-01-23','1300.00',NULL,'10');

ALTER TABLE emp
ADD CONSTRAINT FK_emp_mgr FOREIGN KEY (mgr)
REFERENCES emp (empno) ON DELETE NO ACTION;

Отправляйте выполненное тестовое задание вместе с Вашим резюме на нашу электронную почту

Вернуться на страницу вакансии