ORM Querying Guide¶
この節では、:term:`2.0 style`を使用してSQLAlchemy ORMでクエリを発行する方法の概要を説明します。
このセクションの読者は SQLAlchemy Unified Tutorial のSQLAlchemyの概要に精通しているはずです。特に、ここでの内容のほとんどは Using SELECT Statements の内容を拡張したものです。
For users of SQLAlchemy 1.x
SQLAlchemy 2.xシリーズでは、ORM用のSQL SELECT文はCoreで使用されているものと同じ select()
構文を使用して構築され、 Session.execute()
メソッドを使用して Session
の観点から呼び出されます( ORM-Enabled INSERT, UPDATE, and DELETE statements 機能で使用されるようになった update()
および delete()
構文も同様です)。しかし、レガシーの Query
オブジェクトは、より”オールインワン”オブジェクトとして同じ手順を実行しますが、この新しいシステムの薄いファサードとして引き続き使用可能であり、すべてのクエリを大規模に置き換えることなく、1.xシリーズで構築されたアプリケーションをサポートします。このオブジェクトのリファレンスについては、 Legacy Query API を参照してください。
- Writing SELECT statements for ORM Mapped Classes
- Selecting ORM Entities and Attributes
- Selecting ORM Entities
- Selecting Multiple ORM Entities Simultaneously
- Selecting Individual Attributes
- Grouping Selected Attributes with Bundles
- Selecting ORM Aliases
- Getting ORM Results from Textual Statements
- Selecting Entities from Subqueries
- Selecting Entities from UNIONs and other set operations
- Joins
- Simple Relationship Joins
- Chaining Multiple Joins
- Joins to a Target Entity
- Joins to a Target with an ON Clause
- Combining Relationship with Custom ON Criteria
- Using Relationship to join between aliased targets
- Joining to Subqueries
- Joining to Subqueries along Relationship paths
- Subqueries that Refer to Multiple Entities
- Setting the leftmost FROM clause in a join
- Relationship WHERE Operators
- Selecting ORM Entities and Attributes
- Writing SELECT statements for Inheritance Mappings
- ORM-Enabled INSERT, UPDATE, and DELETE statements
- Column Loading Options
- Relationship Loading Techniques
- Summary of Relationship Loading Styles
- Configuring Loader Strategies at Mapping Time
- Relationship Loading with Loader Options
- Lazy Loading
- Joined Eager Loading
- Select IN loading
- Subquery Eager Loading
- What Kind of Loading to Use ?
- Polymorphic Eager Loading
- Wildcard Loading Strategies
- Routing Explicit Joins/Statements into Eagerly Loaded Collections
- Relationship Loader API
- ORM API Features for Querying
- Legacy Query API