Hallo Mathias,
Das laut Doku entstehende SQL sah nicht überzeugend aus. ON-Klausel und JOIN-Klausel werden munter miteinander vertauscht, was bei OUTER-Joins nicht zulässig ist (vermutlich ein Dokufehler).
Wobei jetzt? Von welchem Fall redest du?
erstes Beispiel der komplexen Joins (hier ein Selfjoin):
replies = comments.alias
comments_with_replies = \
comments.join(replies).on(replies[:parent_id].eq(comments[:id]))
=> ~~~sql
SELECT * FROM comments INNER JOIN comments AS comments_2 WHERE comments_2.parent_id = comments.id
klar, hier liegt kein OUTER JOIN vor, aber es verunsichert den Leser, der von der SQL-Schiene kommt.
Wie erwähnt vermute ich eher einen Fehler in der Doku.
Freundliche Grüße
Vinzenz