<!--
{
  "documentType" : "article",
  "framework" : "SwiftData",
  "identifier" : "/documentation/SwiftData/AdditionalQueryMacros",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Additional query macros"
}
-->

# Additional query macros

Supplementary macros that enable you to narrow query results and tell SwiftData
how to sort, order, and section those results.

## Topics

### Basic queries

[`Query(animation:)`](/documentation/SwiftData/Query(animation:))

Fetches all instances of the attached model type, using the specified animation
to animate any subsequent changes.

[`Query(_:animation:sectionBy:)`](/documentation/SwiftData/Query(_:animation:sectionBy:)-91gkm)

[`Query(_:animation:sectionBy:)`](/documentation/SwiftData/Query(_:animation:sectionBy:)-9futr)

[`Query(transaction:)`](/documentation/SwiftData/Query(transaction:))

Fetches all instances of the attached model type, using the specified
transaction to animate any subsequent changes.

[`Query(_:transaction:sectionBy:)`](/documentation/SwiftData/Query(_:transaction:sectionBy:)-1poj9)

[`Query(_:transaction:sectionBy:)`](/documentation/SwiftData/Query(_:transaction:sectionBy:)-2iol)

[`Query(filter:sort:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:transaction:sectionBy:)-4wwsy)

[`Query(filter:sort:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:transaction:sectionBy:)-6qrae)

### Predicate-based queries

[`Query(filter:sort:animation:)`](/documentation/SwiftData/Query(filter:sort:animation:))

Fetches a sorted subset of the attached model type that satisfy the specified
predicate.

[`Query(filter:sort:order:animation:)`](/documentation/SwiftData/Query(filter:sort:order:animation:)-80h6f)

Fetches a subset of the attached model type, in a specific order, by sorting on
a nonoptional attribute.

[`Query(filter:sort:order:animation:)`](/documentation/SwiftData/Query(filter:sort:order:animation:)-pb15)

Fetches a subset of the attached model type, in a specific order, by sorting on
an optional attribute.

[`Query(filter:sort:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:animation:sectionBy:)-1s3xp)

[`Query(filter:sort:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:animation:sectionBy:)-82mot)

[`Query(filter:sort:order:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:animation:sectionBy:)-132tv)

[`Query(filter:sort:order:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:animation:sectionBy:)-66vd3)

[`Query(filter:sort:order:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:animation:sectionBy:)-75r20)

[`Query(filter:sort:order:animation:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:animation:sectionBy:)-7o0vo)

[`Query(filter:sort:transaction:)`](/documentation/SwiftData/Query(filter:sort:transaction:))

Fetches and sorts the subset of the attached model type that satisfy the
specified predicate.

[`Query(filter:sort:order:transaction:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:)-6kkiu)

Fetches a subset of the attached model type, in a specific order, by sorting on
a nonoptional attribute.

[`Query(filter:sort:order:transaction:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:)-8tk8u)

Fetches a subset of the attached model type, in a specific order, by sorting on
an optional attribute.

[`Query(filter:sort:order:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:sectionBy:)-3cn7t)

[`Query(filter:sort:order:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:sectionBy:)-6c6ho)

[`Query(filter:sort:order:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:sectionBy:)-9mbr6)

[`Query(filter:sort:order:transaction:sectionBy:)`](/documentation/SwiftData/Query(filter:sort:order:transaction:sectionBy:)-i779)

### Descriptor-based queries

[`Query(_:animation:)`](/documentation/SwiftData/Query(_:animation:))

Fetches only the subset of the attached model type that satisfy the provided
fetch descriptor’s criteria.

[`Query(_:transaction:)`](/documentation/SwiftData/Query(_:transaction:))

Fetches only the subset of the attached model type that satisfy the provided
fetch descriptor’s criteria.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)