Вопрос по SQL

На одном из собеседований на должность backend разработчика в интернете нашла следующие вопросы:

1. Вывести список сотрудников, получающих максимальную заработную плату в своем отделе

2. Составить SQL-запрос, вычисляющий произведение вещественных значений, содержащихся в некотором столбце таблицы

1. Найти всех сотрудников, получающих максимальную заработную плату в своём отделе.

Вот возможный вариант решения этого вопроса:

select a.*
from   employee a
where  a.salary = ( select max(salary) from employee b
                    where  b.department_id = a.department_id )

2. Составить SQL-запрос, вычисляющий произведение вещественных значений, содержащихся в некотором столбце таблицы.

С этим посложнее, конечно, но вот тоже примерный вариант, который должен выполнять условия задачи:

select
  exp(sum(ln(decode(sign(salary),0,1,-1,-salary,salary))))
 *decode(mod(sum(decode(sign(salary),-1,1,0)),2),1,-1,1)
 *sign(min(abs(salary)))
from employee

Рекоммендую вам пройти курс SQL Essential, если вы хотите поднатаскать себя в SQL и решать подобные задачи. На курсе представлены как основы SQL/T-SQL, так и более продвинутые вещи, которые также могут спрашивать на собеседованиях, так что на досуге советую вам таки просмотреть этот курс.