Да, первые 2 запроса абсолютно одинаковы с точки зрения производительности и результата. Кроме того, первые 2 запроса аналогичны приведенным ниже запросам:
SELECT p.name, o.order_time ИЗ ПРОДУКТОВ p ВНУТРЕННИЕ ЗАКАЗЫ СОЕДИНЕНИЯ o в p.id = o.product_id ;
Что, в свою очередь, совпадает с:
ВЫБРАТЬ p.name, o.order_time ИЗ ПРОДУКТОВ p ВНУТРЕННИЕ ЗАПИСИ СОЕДИНЕНИЯ o на o.product_id = p.id ;
Примечание: также поменялся порядок внутренних таблиц соединения.
3-й и 4-й также одинаковы в сроки исполнения и результат. Здесь нельзя поменять местами порядок таблиц, если только набор данных не гарантирует тот же результат.
Исходя из набора данных, первые 2 запроса могут дать тот же или иной результат, чем последние 2 запроса.
Причина: =
является коммутативным, то есть a=b
совпадает с b=a
. Расширяя его, просто INNER JOIN
также является коммутативным.