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;

Надсилайте виконане тестове завдання разом із Вашим резюме на нашу електронну пошту.