MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / Join

Class Join

lib/sqlalchemy/sql/selectable.py:1270–1712  ·  view source on GitHub ↗

Represent a ``JOIN`` construct between two :class:`_expression.FromClause` elements. The public constructor function for :class:`_expression.Join` is the module-level :func:`_expression.join()` function, as well as the :meth:`_expression.FromClause.join` method of any :c

Source from the content-addressed store, hash-verified

1268
1269
1270class Join(roles.DMLTableRole, FromClause[_KeyColCC_co]):
1271 """Represent a ``JOIN`` construct between two
1272 :class:`_expression.FromClause`
1273 elements.
1274
1275 The public constructor function for :class:`_expression.Join`
1276 is the module-level
1277 :func:`_expression.join()` function, as well as the
1278 :meth:`_expression.FromClause.join` method
1279 of any :class:`_expression.FromClause` (e.g. such as
1280 :class:`_schema.Table`).
1281
1282 .. seealso::
1283
1284 :func:`_expression.join`
1285
1286 :meth:`_expression.FromClause.join`
1287
1288 """
1289
1290 __visit_name__ = "join"
1291
1292 _traverse_internals: _TraverseInternalsType = [
1293 ("left", InternalTraversal.dp_clauseelement),
1294 ("right", InternalTraversal.dp_clauseelement),
1295 ("onclause", InternalTraversal.dp_clauseelement),
1296 ("isouter", InternalTraversal.dp_boolean),
1297 ("full", InternalTraversal.dp_boolean),
1298 ]
1299
1300 _is_join = True
1301
1302 left: FromClause
1303 right: FromClause
1304 onclause: Optional[ColumnElement[bool]]
1305 isouter: bool
1306 full: bool
1307
1308 def __init__(
1309 self,
1310 left: _FromClauseArgument,
1311 right: _FromClauseArgument,
1312 onclause: Optional[_OnClauseArgument] = None,
1313 isouter: bool = False,
1314 full: bool = False,
1315 ):
1316 """Construct a new :class:`_expression.Join`.
1317
1318 The usual entrypoint here is the :func:`_expression.join`
1319 function or the :meth:`_expression.FromClause.join` method of any
1320 :class:`_expression.FromClause` object.
1321
1322 """
1323
1324 # when deannotate was removed here, callcounts went up for ORM
1325 # compilation of eager joins, since there were more comparisons of
1326 # annotated objects. test_orm.py -> test_fetch_results
1327 # was therefore changed to show a more real-world use case, where the

Callers 5

joinMethod · 0.85
outerjoinMethod · 0.85
_setup_joinsMethod · 0.85
joinFunction · 0.85
outerjoinFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected