Какой подход мне следует использовать?
Этот
Select * from table1,table2 where table1.id=table2.id;
Или
Select * from table1 inner join table2 on table1.id=table2.id;
Примечание. Id - это внешний ключ.
2 ответа
В большинстве современных СУБД обе дают одинаковый план выполнения, но вторая - рекомендуемая форма, поскольку она дает понять, каковы условия join
сразу после того, как вы объявите сказанное join
Если ваш запрос становится таким же большим, как и они, второй стиль обычно считается более простым для чтения и понимания, поскольку части запроса JOIN и WHERE разделены.
Select * from table1
INNER JOIN table2 on table1.id=table2.id
INNER JOIN table3 on table1.id=table3.id
WHERE table2.something = 1
В самом деле, оба стиля должны иметь под капотом одну и ту же платформу для исполнения.
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.