У меня есть SQL, как это:SQL соединения таблиц: эффективный синтаксис
select q1.*,q2* from (select * from t1,t2,t3 where t1.col1=t2.col1 and t2.col2=t3.col2) q1, (select * from p1,p2,p3 where p1.col1=p2.col1 and p2.col2=p3.col2) q2 where q1.col1 = q2.col1;
Предполагая col1
, col2
, col3
являются уникальными (т.е. нет конфликтов имен) и wildcards
заменяются собственными именами Col ... есть это правильный способ написать этот запрос?
Очень сложно читать.
Как это можно сделать более эффективным?
Также, когда мы делаем outer join
, являются синтаксисы 'left join'
и t1.col1 = t2col1(+)
эквивалентом во всех смыслах?
Пожалуйста, дайте мне знать, если требуется дополнительная информация.