Вообще, в SQL очень важно уметь представить, как будет выполняться запрос, это значительно упрощает жизнь и помогает избежать многих ошибок.
Когда выполняется этот блок:
from
supermarket_sales as sales
join
supermarket_products as product on sales.ProductId = product.ProductId
В этот момент у нас все столбцы supermarket_sales
соединяются со всеми столбцами supermarket_products
.
И таблица выглядит так:
Попробуйте выполнить запрос:
select
*
from
supermarket_sales as sales
join
supermarket_products as product on sales.ProductId = product.ProductId
limit 10
Чтобы посмотреть, какая таблица в сыром виде получается после использования конструкции JOIN
.