А чем плох такой подход:
SELECT number,product_name,customer_id FROM products, accounts USING
(product_name) WHERE
customer_id=\'$login\'.
ХОТЬ СУБД и используют внутренний оптимизатор, однако я предпочитаю делать
более точные и понятные для чтения запросы. К тому же, если в таблицах будут
другие стобцы с одинаковыми именами, то без него сложно будет обойтись.
Форма USING принимает список имен столбцов, разделенных запятвыми, где
каждое имя соответствует одному столбцу в каждой из соединяемых таблиц,
выполняет эквисоединение по всем парам столбцов с одинаковыми именами и
объединяет результаты с помощбю оператора AND. Это практически анологично
NATURAL JOIN, за исключением того, что USING использует только указанные
столбцы.
Можно также добавить INNER JOIN. При внутреннем соединении несовподающие
строки обеех таблиц исключаются.
(синтаксис привеен стандартный, а не конкретный для определенной СУДБ)