Comments 4
Результат в примере с подзапросами может отличаться от оптимизированного варианта с джойнами, если у клиента не было заказов.
Пример с процедурой выглядит максимально странно:
вложенные циклы - это прям не круто, особенно для такой задачи (вот бы посмотреть на sql-запрос, может он и не такой уж сложный)?
может "терять" данные, если
SUM(Quantity)
будет одинаковым для 2 и более продуктов, сортировки в запросе нет, на каждый вызов, теоретически, может возвращаться разный продукт;"сбрасывается" только одна переменная
v_max_quantity
, проверок никаких нет, а что произойдёт, если в предыдущей итерации у clinet_id = 123 был заказ, а у следующего клиента client_id = 124 заказов не было?
К вопросу терминологии!
Прочитайте, что такое https://ru.m.wikipedia.org/wiki/Системный_анализ и скажите, этим ли Вы занимаетесь?
После беглого взгляда на текст статьи делаю вывод, что "базы данных для системного аналитика" это sql.
Заголовок про одно, содержание про другое и про системный анализ ни слова.
Базы данных для системного аналитика. Краткий обзор на практике