SELECT SQL_CALC_FOUND_ROWS p.product_id
FROM product_to_category p2c
LEFT JOIN product p ON (p2c.product_id = p.product_id)
WHERE p2c.category_id = '66'
Вернет product_ids.
Дополнительным запросом
SELECT FOUND_ROWS()
Можно получить количество строк. Запрос будет быстрым, так что таких 2 запроса это не то же самое, что 2 запроса с джоинами. Впрочем, первый запрос с SQL_CALC_FOUND_ROWS может быть медленнее чем 2 запроса - все зависит от конкретной структуры данных, индексов.
ЗЫ: Запрос по памяти писал, подходящих данных для тестирования нет, поэтому может придется покрутить.
ЗЗЫ: А вообще на тему SQL_CALC_FOUND_ROWS холивары годами идут. По производительности есть вопросы и много "если". Да и MySQL вроде как его потихоньку депрекейтит. Впрочем, так или иначе - это инструмент. Сами решайте, имеет ли смысл использовать его в вашем конкретном случае.