Вопросы и задачи с собеседования по позицию среднего middle разработчика (web, PHP, но может быть и другое)

SQL

  • Задача 1: В некоторой СУБД есть таблица persons, в которой есть поля:
    1. id
    2. name -- имя сотрудника
    3. salary -- его зарплата
    4. department_id --id отдела, в котором работает данный сотрудник.

    Напишите SQL запросы:

    1. Который выведет список людей, которые получают максимальную зарплату в своём отделе.
    2. Который выведет список отделов (их id), в которых работают больше чем 5 человек.
  • Задача 2: У книги и авторы, одну книгу могут писать несколько авторов и, конечно же, один автор может написать много книг (промежуточный вопрос: как организовать такую связь? вы тут же отвечаете: ""это "многие ко многим", потому через 3 таблицы"").

    И далее уже непосредственно задача: напишите запрос, который выведет названия книг написанных ровно двумя авторами.

    (Смотрите решение, после того, как попробуете решить самостоятельно).