Какой подход мне следует использовать?

Этот

Select * from table1,table2 where table1.id=table2.id;

Или

Select * from table1 inner join table2 on table1.id=table2.id;

Примечание. Id - это внешний ключ.

0
Neeraj Jain 25 Фев 2015 в 19:00

2 ответа

Лучший ответ

В большинстве современных СУБД обе дают одинаковый план выполнения, но вторая - рекомендуемая форма, поскольку она дает понять, каковы условия join сразу после того, как вы объявите сказанное join

7
Smog 25 Фев 2015 в 16:04

Если ваш запрос становится таким же большим, как и они, второй стиль обычно считается более простым для чтения и понимания, поскольку части запроса 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

В самом деле, оба стиля должны иметь под капотом одну и ту же платформу для исполнения.

0
Andomar 25 Фев 2015 в 16:11