Как работает 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?


Ответы (0 шт):