--Создает все возможные комбинации строк таблицы newspaper со строками таблицы months -- с помощью CROSS JOIN (перекрестного) соединения SELECT * FROM magazine.newspaper AS n CROSS JOIN magazine.months AS m; --устаревший формат записи CROSS JOIN: SELECT * FROM magazine.newspaper AS n, magazine.months AS m; --вывод имени подписчика с возможными комбинациями месяца с сортировкой по имени и месяцу в порядке возростания SELECT n.first_name, m.month FROM magazine.newspaper AS n CROSS JOIN magazine.months AS m ORDER BY 1,2; --Вывести информацию о подписчиках, которые оформили подписку на протяжении января, февраля и марта -- и закончили подписку после марта месяца (включая март): SELECT * FROM magazine.newspaper AS n WHERE n.start_month <=3 AND n.end_month >= 3; --финальный запрос по выводу количества подписчиков в разрезе каждого месяца: SELECT m.month, COUNT(*) FROM magazine.newspaper AS n CROSS JOIN magazine.months AS m WHERE n.start_month <= m.month AND n.end_month >= m.month GROUP BY m.month ORDER BY m.month; --вариант перекокретсного соединения только с помощью INNER JOIN: SELECT * FROM magazine.newspaper AS n INNER JOIN magazine.months AS m ON TRUE;