Запрос о зарплате сотрудников

Asya7

Помогите, пожалуйста! Нам задали: --Напишите запрос, возвращающий информацию об именах, фамилиях, должностях --(столбец job_id) и заработной плате сотрудников из таблицы hr.employees. При этом --должна возвращаться информация только для сотрудников, для которых установлена --минимальная заработная плата для их должности. Используйте для решения --многострочный подзапрос.
3 ответа

Asya7

Используйте для решения многострочный подзапрос.
Не совсем понимаю, что имеется в виду. Запросов, возвращающих нужную информацию, можно написать очень много, но, вероятно, имеется в виду что-то такое
SELECT firstname, lastname, patername, id_job, salary
FROM hr.employees
WHERE (id_job, salary) IN 
     (SELECT id_job, MIN(salary) FROM hr.employees
      GROUP BY id_job);


Asya7

Большое спасибо! Сначала глюкнул, потом добавила as salary после min (salary) - заработало ))) А можно еще я Вас помучаю? Мне не понятен термин "курсор". В смысле - и учебник читаю, и нам объясняют, но не понимаю ничего. Можете как-нибудь на пальцах, без использования слов типа "функция" рассказать что это и для чего он нужен? Ну, на примерах? Пожалуйста !


Asya7

термин "курсор"
В простейшем случае курсор - это объект языка программирования, с помощью которого можно получить объект "набор записей" (RECORDSET). А в более общем случае, курсор - это объект, через который осуществляется любое действие в базе. Вызов процедуры осуществляется через курсор, не возвращающий ни одной записи. Любое удаление или втавка - это тоже курсор. Если мы вручную пытаемся реализовать динамический SQL (то, что делает любая программа, работающая с базой, автоматически), то первое действие - открыть курсор, то есть инициировать некий объект, в рамках которого в дальнейшем будут выполняться какие-то операции в базе. Не знаю, стало ли понятнее.