🎯 SQL-тренажёр — сотрудники, зарплаты, отделы и проекты

Полностью офлайн. 30 заданий: результат выполняется вживую, реальным SQLite, при каждом нажатии клавиши. 📘 Теория и рецепты запросов →
⏳ Загрузка SQL-движка (sql.js, реальный SQLite в браузере)...
Выполнено (отмечено вручную): 0 / 30

EMPLOYEES

idnamecitysexbirth_datedept_id
1ПетрМоскваM1985-04-231
2ИванКиевM1979-12-122
3МашаМоскваW1980-09-111
4ФедорМоскваM1976-07-033
5АннаМинскW1990-01-152
6ОлегМоскваM1982-11-30NULL

DEPARTMENTS

idname
1Разработка
2Бухгалтерия
3Маркетинг

SALARY (оклад, не у всех есть)

idemp_idamount
11 (Петр)100
24 (Федор)200
33 (Маша)300

PAYMENTS (выплаты по месяцам)

emp_idpay_dateamount
1 (Петр)2007-03-3070
4 (Федор)2007-03-30200
1 (Петр)2007-04-30100
3 (Маша)2007-04-30250
4 (Федор)2007-04-30200
4 (Федор)2007-05-31200
3 (Маша)2007-05-31300
1 (Петр)2007-05-31100

PROJECTS

idnamedept_idbudget
1Сайт15000
2Моб. прил.18000
3Отчетность23000
4Реклама34000

EMP_PROJECTS (кто на каком проекте)

emp_idproject_idrole
1 (Петр)1 (Сайт)developer
1 (Петр)2 (Моб.прил.)developer
3 (Маша)1 (Сайт)designer
2 (Иван)3 (Отчетность)accountant
4 (Федор)4 (Реклама)manager
5 (Анна)1 (Сайт)tester
Иван, Анна, Олег — без выплат/оклада. Олег — без отдела и без проектов. Анна тестирует чужой проект (Сайт, отдел «Разработка», хотя сама из «Бухгалтерии») — пример для JOIN между разными отделами. Специально, для LEFT JOIN / COALESCE / NOT IN.