Скажем, у меня есть такой запрос, в котором я объединяю несколько виртуальных таблиц:
SELECT table1.a, tbl2.a, tbl3.b, tbl4.c, tbl5.a, tbl6.a
FROM table1
JOIN (SELECT x, a, b, c FROM table2 WHERE foo='bar') tbl2 ON table1.x = tbl2.x
JOIN (SELECT x, a, b, c FROM table3 WHERE foo='bar') tbl3 ON table1.x = tbl3.x
JOIN (SELECT x, a, b, c FROM table4 WHERE foo='bar') tbl4 ON table1.x = tbl2.x
JOIN (SELECT x, a, b, c FROM table5 WHERE foo='bar') tbl5 ON table1.x = tbl5.x
JOIN (SELECT x, a, b, c FROM table6 WHERE foo='bar') tbl6 ON table1.x = tbl6.x
WHERE anotherconstraint='value'
В моем реальном запросе каждое JOIN имеет свои собственные JOIN, агрегатные функции и ограничения WHERE.
Насколько хорошо / плохо будет выполняться такой запрос? Кроме того, какова разница между этим и выполнением всех отдельных виртуальных таблиц в качестве их собственного запроса и связыванием результатов вместе вне SQL