Browse before composing the join
Open a Tangent card and choose Browse & Query. The schema browser shows the attached sources and the schemas, tables, and fields made available through each connection. Check names, types, and join keys before writing a query, especially when similar concepts come from different engines.
Then open the Query Console and qualify each relation with its source and schema. Clear aliases help make the join readable in review and distinguish fields with the same names.
Use the console as an investigation surface rather than assuming every compatible-looking field can be joined safely. Confirm the grain of each relation, the time window represented by the source, and whether the keys are stable enough for the comparison.
Keep source context in the SQL
Source-qualified relations make the plan easier to inspect:
connection_name.schema_name.table_name
That context matters when databases contain similarly named users, orders, or events tables. It also helps another reviewer trace a result back to the connection and objects that supplied it.
Postgres and MySQL in the same query
This official example joins users in Postgres to orders in MySQL:
SELECT u.id, u.name, SUM(o.amount) AS revenue
FROM postgres_db.public.users u
JOIN mysql_db.sales.orders o ON u.id = o.user_id
GROUP BY u.id, u.name
ORDER BY revenue DESC
LIMIT 10;
Start with a small result set while you validate the join and aggregation. The query reads the identifiers, names, order amounts, and other required data according to the plan; it does not assume that every table is transferred in full.
Bring a working file into the investigation
A file can be useful when it contains a temporary mapping, target list, or event extract that needs comparison with a connected database. For example:
SELECT u.email, c.last_login
FROM postgres_db.public.users u
JOIN read_csv_auto('https://example.com/logins.csv') c
ON u.email = c.email;
The same pattern can apply to JSON or Parquet where the session can access the file. Treat the file location and its contents as part of the query's operating context, not as a replacement for the database's source-of-record rules.