SqlJoin

class SqlJoin(kind, table, alias=None, expr=None)

A JOIN clause. Created via SQL.join(kind, table, alias, expr). Inherits from SqlObj.

Parameters:
  • kind – Join type string — 'JOIN', 'LEFT JOIN', 'RIGHT JOIN', 'CROSS JOIN', 'JOIN LATERAL', 'LEFT JOIN LATERAL', etc.

  • table – Table name string or SqlQuery subquery.

  • alias – Optional table alias string.

  • expr – Join condition — a string (e.g. 'col1 = col2' or 'USING (id)'), a SqlObj (rendered after ON), or None for joins without conditions (e.g. CROSS JOIN).

SQL.join('JOIN', 'orders', 'o', 'o.user_id = u.id')
# JOIN orders o ON o.user_id = u.id

SQL.join('LEFT JOIN', 'addresses', 'a', 'a.user_id = u.id')
# LEFT JOIN addresses a ON a.user_id = u.id

SQL.join('JOIN', 'films', 'f', 'USING (did)')
# JOIN films f USING (did)

SQL.join('CROSS JOIN', 'generate_series(1,10)', 'g')
# CROSS JOIN generate_series(1,10) g

SQL.join('JOIN LATERAL', 'get_items(u.id)', 'items', 'true')
# JOIN LATERAL get_items(u.id) items ON true