Emperor
Guest
LEFT JOIN или без него
Дано.
tab1 (id,name)
tab2 (id,name,tab1_id)
Запрос 1
SELECT t1.name, t2.name FROM t1,t2 WHERE t2.t1_id=t1_id;
Результат: одна колонка с t1.name, вторая с t2.name
Запрос 2
SELECT t1.name,t2.name FROM t2 LEFT JOIN t1 ON t2.t1_id=t1.id
Результат такой же.
Вопрос в том, какой из запросов правильнее использовать?
А если таких таблиц много, т.е.
tab1 (id,name)
tab2 (id,name)
tab3 (id,name)
tab4 (id,name,tab1_id,tab2_id,tab3_id,)
И все они "складываются" с помощью LEFT JOIN ? т.е.
SELECT t1.name,t2.name,t3.name,t4.name FROM t4 LEFT JOIN t1 ON t4.t1_id=t1.id LEFT JOIN t2 ON t4.t3_id=t4.id LEFT JOIN t3 ON t4.t3_id=t3.id;
Как присутствие LEFT JOIN влияет на скорость работы запроса ?
Дано.
tab1 (id,name)
tab2 (id,name,tab1_id)
Запрос 1
SELECT t1.name, t2.name FROM t1,t2 WHERE t2.t1_id=t1_id;
Результат: одна колонка с t1.name, вторая с t2.name
Запрос 2
SELECT t1.name,t2.name FROM t2 LEFT JOIN t1 ON t2.t1_id=t1.id
Результат такой же.
Вопрос в том, какой из запросов правильнее использовать?
А если таких таблиц много, т.е.
tab1 (id,name)
tab2 (id,name)
tab3 (id,name)
tab4 (id,name,tab1_id,tab2_id,tab3_id,)
И все они "складываются" с помощью LEFT JOIN ? т.е.
SELECT t1.name,t2.name,t3.name,t4.name FROM t4 LEFT JOIN t1 ON t4.t1_id=t1.id LEFT JOIN t2 ON t4.t3_id=t4.id LEFT JOIN t3 ON t4.t3_id=t3.id;
Как присутствие LEFT JOIN влияет на скорость работы запроса ?