Как работает Using в запросах SQL?
У нас есть запрос:
SELECT title, year, p.name AS pub, a.name AS author
FROM book
JOIN publisher AS p USING (publisher_id)
JOIN book_author USING (book_id)
JOIN author AS a USING (author_id)
WHERE a.author_id=1
ORDER BY year
В первом случае Using соединяет по publisher_id таблицы book и publisher.
Во втором случае Using соединяет по book_id таблицы book и book_author.
В третьем случае соединяет по author_id уже book_author и author
Я же правильно понимаю, что JOIN всегда соединяет с уже целой соединенной таблицей как бы которая образовалась из всех соединений слева,
т.е. исходная таблица - Первый JOIN соединяет с исходной - Второй JOIN
соединяет уже с объединенной исходной и той что получилась от первого JOIN'a и т.д. ?
Вопрос: как using понимает какие таблицы соединять? А если во всех трёх таблицах будет поле с author_id?
