@NonNullApi @NonNullFields

# Package org.springframework.data.relational.core.sql

Statement Builder implementation.

See: Description

Interface Summary
Aliased: Aliased element exposing an `alias`.
Assignment: Update assignment to a `Column`.
Condition: AST `Segment` for a condition.
Delete: AST for a `DELETE` statement.
DeleteBuilder: Entry point to construct a `Delete` statement.
DeleteBuilder.BuildDelete: Interface exposing the `Delete` build method.
DeleteBuilder.DeleteWhere: Interface exposing `WHERE` methods.
DeleteBuilder.DeleteWhereAndOr: Interface exposing `AND`/`OR` combinator methods for `WHERE` `Condition`s.
Expression: Expression that can be used in select lists.
IdentifierProcessing: An interface describing the processing steps for the conversion of `SqlIdentifier` to SQL snippets or column names.
Insert: AST for a `INSERT` statement.
InsertBuilder: Entry point to construct an `Insert` statement.
InsertBuilder.BuildInsert: Interface exposing the `Insert` build method.
InsertBuilder.InsertIntoColumnsAndValues: Interface exposing `WHERE` methods.
InsertBuilder.InsertIntoColumnsAndValuesWithBuild: Interface exposing `value` methods to add values to the `INSERT` statement and the build method.
InsertBuilder.InsertValues: Interface exposing `value` methods to add values to the `INSERT` statement.
InsertBuilder.InsertValuesWithBuild: Interface exposing `value` methods to add values to the `INSERT` statement and the build method.
Named: Named element exposing a `name`.
Segment: Supertype of all Abstract Syntax Tree (AST) segments.
Select: AST for a `SELECT` statement.
SelectBuilder: Entry point to construct a `Select` statement.
SelectBuilder.BuildSelect: Interface exposing the `Select` build method.
SelectBuilder.SelectAndFrom: Builder exposing `SELECT` and `FROM` methods.
SelectBuilder.SelectFrom: Builder exposing `FROM` methods.
SelectBuilder.SelectFromAndJoin: Builder exposing `FROM`, `JOIN`, `WHERE`, `LIMIT/OFFSET` and `LOCK` methods.
SelectBuilder.SelectFromAndJoinCondition: Builder exposing `FROM`, `WHERE`, `LIMIT/OFFSET`, JOIN `AND` and `LOCK` continuation methods.
SelectBuilder.SelectFromAndOrderBy: Builder exposing `FROM`, `JOIN`, `WHERE`, `LIMIT/OFFSET` and `LOCK` methods.
SelectBuilder.SelectJoin: Interface exposing `JOIN` methods.
SelectBuilder.SelectLimitOffset: Limit/offset methods.
SelectBuilder.SelectLock: Lock methods.
SelectBuilder.SelectOn: Interface exposing `ON` methods to declare `JOIN` relationships.
SelectBuilder.SelectOnCondition: Builder exposing JOIN and `JOIN … ON` continuation methods.
SelectBuilder.SelectOnConditionComparison: Interface declaring the target column comparison relationship.
SelectBuilder.SelectOrdered: Builder exposing `ORDER BY` and `LOCK` methods.
SelectBuilder.SelectWhere: Interface exposing `WHERE`, `LOCK` methods.
SelectBuilder.SelectWhereAndOr: Interface exposing `AND`/`OR` combinator methods for `WHERE` `Condition`s.
SqlIdentifier: Represents a named object that exists in the database like a table name or a column name.
Update: AST for aa `UPDATE` statement.
UpdateBuilder: Entry point to construct an `Update` statement.
UpdateBuilder.BuildUpdate: Interface exposing the `Update` build method.
UpdateBuilder.UpdateAssign: Interface exposing `SET` methods.
UpdateBuilder.UpdateWhere: Interface exposing `WHERE` methods.
UpdateBuilder.UpdateWhereAndOr: Interface exposing `AND`/`OR` combinator methods for `WHERE` `Condition`s.
Visitable: Interface for implementations that wish to be visited by a `Visitor`.
Visitor: AST `Segment` visitor.

Class Summary
AndCondition: `Condition` representing an `AND` relation between two `Condition`s.
Assignments: Factory for common `Assignment`s.
AssignValue: Assign a `Expression` to a `Column`.
AsteriskFromTable: `Segment` to select all columns from a `Table`.
Between: BETWEEN `Condition` comparing between `Expression`s.
BindMarker: Bind marker/parameter placeholder used to construct prepared statements with parameter substitution.
BooleanLiteral: Represents a `Boolean` literal.
Column: Column name within a `SELECT … FROM` clause.
Comparison: Comparing `Condition` comparing two `Expression`s.
Conditions: Factory for common `Condition`s.
Expressions: Factory for common `Expression`s.
Expressions.SimpleExpression
FalseCondition: Simple condition that evaluates to SQL `FALSE`.
From: `FROM` clause.
Functions: Factory for common `function expressions`.
IdentifierProcessing.Quoting: A conversion from unquoted identifiers to quoted identifiers.
In: `IN` `Condition` clause.
Into: `INTO` clause.
IsNull: `IS NULL` `Condition`.
Join: `Segment` for a `JOIN` declaration.
Like: LIKE `Condition` comparing two `Expression`s.
Literal<T>: Represents a literal.
LockOptions: Value object providing lock options to apply to a `Select` statement.
MultipleCondition: Wrapper for multiple `Condition`s.
NestedCondition: Condition group wrapping a nested `Condition` with parentheses.
Not
NumericLiteral: Represents a `Number` literal.
OrCondition: `Condition` representing an `OR` relation between two `Condition`s.
OrderByField: Represents a field in the `ORDER BY` clause.
SelectList: Value object representing the select list (selected columns, functions).
SimpleCondition: Simple condition consisting of `Expression`, `comparator` and `predicate`.
SimpleFunction: Simple function accepting one or more `Expression`s.
SimpleSegment
SQL: Utility to create SQL `Segment`s.
StatementBuilder: Entrypoint to build SQL statements.
StringLiteral: Represents a `CharSequence` literal.
SubselectExpression: Wrapper for a `Select` query to be used as subselect.
Table: Represents a table reference within an SQL statement.
TrueCondition: Simple condition that evaluates to SQL `TRUE`.
Values: `VALUES` clause.
Where: `Where` clause.

Enum Summary
IdentifierProcessing.LetterCasing: Encapsulates the three kinds of letter casing supported.
Join.JoinType
LockMode: Lock Mode Types of SELECT statements.

## Package org.springframework.data.relational.core.sql Description

Statement Builder implementation. Use `StatementBuilder` to create statements and `SQL` to create SQL objects. Objects and dependent objects created by the Statement Builder are immutable except for builders.

The Statement Builder API is intended for framework usage to produce SQL required for framework operations.

Since:
  1.1