-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add SQL task №17. Add script to run PostgreSQL Docker container for S…
…QL tasks
- Loading branch information
1 parent
f3bfe07
commit 83c807d
Showing
3 changed files
with
48 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
|
||
-- 17. Поиск сотрудников, менеджеры которых покинули компанию | ||
|
||
-- Напишите SQL-запрос, который вернет идентификаторы сотрудников, чья зарплата строго меньше $30 000 | ||
-- и чей руководитель покинул компанию. | ||
-- Когда сотрудник покидает компанию, его информация удаляется из таблицы Employees, но у его подчиненных | ||
-- остается его идентификатор. | ||
|
||
-- Таблица: Employees | ||
-- +-------------+----------+ | ||
-- | Column Name | Type | | ||
-- +-------------+----------+ | ||
-- | employee_id | int | | ||
-- | name | varchar | | ||
-- | manager_id | int | | ||
-- | salary | int | | ||
-- +-------------+----------+ | ||
-- В таблице employee_id является первичным ключом для этой таблицы. | ||
-- Эта таблица содержит информацию о сотрудниках, их зарплате и идентификаторе их руководителя. | ||
-- У некоторых сотрудников нет руководителя (manager_id имеет значение null). | ||
-- Верните таблицу результатов (идентификатор, зарплата), упорядоченную по идентификатору сотрудника. | ||
|
||
create table Employees ( | ||
employee_id int primary key, | ||
"name" varchar not null, | ||
manager_id int, | ||
salary int not null | ||
); | ||
|
||
-- Нужны кейсы: | ||
-- менеджер не покинул компанию и з/п <30к | ||
-- менеджер не покинул компанию и з/п >30к | ||
-- менеджер покинул компанию и з/п <30к | ||
-- менеджер покинул компанию и з/п >30к | ||
|
||
insert into Employees(employee_id, name, manager_id, salary) values (1, 'Владимир', null, 45000); | ||
insert into Employees(employee_id, name, manager_id, salary) values (2, 'Андрей', 1, 29000); -- менеджер не покинул компанию и з/п <30к | ||
insert into Employees(employee_id, name, manager_id, salary) values (3, 'Алексей', 2, 31000); -- менеджер не покинул компанию и з/п >30к | ||
insert into Employees(employee_id, name, manager_id, salary) values (4, 'Яна', 6, 29000); -- менеджер покинул компанию и з/п <30к | ||
insert into Employees(employee_id, name, manager_id, salary) values (5, 'Дмитрий', 7, 31000); -- менеджер покинул компанию и з/п >30к | ||
select * from Employees; | ||
|
||
-- Нужно найти работников, у которых заполнен manager_id значением, которого уже нет в таблице в колонке employee_id | ||
select e.employee_id from Employees m right join Employees e on m.employee_id=e.manager_id where e.salary < 30000 and m.employee_id is null order by e.employee_id; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
echo Start Docker container with PostgreSQL | ||
|
||
docker-compose up |