You can use existing blocks as the source for a new block. This means you can query across databases and different source types. For example:
Here's an example with three blocks:
block1 - Google Sheets
select some_col, another_col
from {{some_sheet}}
block2 - Postgres
select some_col, post_col
from postgres.table
block3 - MySQL
select some_col, my_col
from mysql.table
block4 "Sheets / CSV / Block"
select a.some_col, a.another_col, b.post_col, c.my_col
from
block1 as a inner join
block2 as b on a.some_col = b.some_col left join
block3 as c on a.some_col = c.some_col
<aside> 💡 We use SQLite as the database engine when querying blocks.
</aside>
<aside>
💡 Please note, large datasets will slow down performance. You can speed things up by only selecting the necessary columns in the Block (e.g. list the columns you need instead of SELECT *
) and by using a WHERE
clause to filter for just the rows you need
</aside>