# Functions

And joins the list of predicates together by the AND operator.
AppendSQLDisplay marshals an interface value into a buffer.
AppendSQLValue will write the SQL representation of the interface{} value into the buffer and args slice.
Avg represents the AVG() aggregate function.
AvgOver represents the AVG() OVER window function.
Bool returns a new Boolean Field representing a literal bool value.
Bytes returns a new BinaryField representing a literal []byte value.
Case creates a new SimpleCases i.e.
CaseWhen creates a new PredicateCases i.e.
Count represents the COUNT(*) aggregate function.
CountOver represents the COUNT(*) OVER window function.
CumeDistOver represents the CUME_DIST() OVER window function.
CustomJoin creates a custom join.
DeleteFrom creates a new DeleteQuery.
DenseRankOver represents the DENSE_RANK() OVER window function.
Except joins the list of queries together by the EXCEPT operator.
ExceptAll joins the list of queries together by the EXCEPT ALL operator.
Exists represents the EXISTS() predicate.
ExpandValues will expand each value one by one into successive question mark ? placeholders in the format string, writing the results into the buffer and args slice.
Fieldf creates a new CustomField.
FirstValueOver represents the FIRST_VALUE(field) OVER window function.
Float64 returns a new NumberField representing a literal float64 value.
From creates a new SelectQuery.
FullJoin creates a new full join.
InsertIgnoreInto creates a new InsertQuery.
InsertInto creates a new InsertQuery.
Int returns a new NumberField representing a literal int value.
Int64 returns a new NumberField representing a literal int64 value.
InterpolateSQLValue interpolates an interface value as its SQL representation into a buffer.
Intersect joins the list of queries together by the INTERSECT operator.
IntersectAll joins the list of queries together by the INTERSECT ALL operator.
Join creates a new inner join.
JSON returns a new JSONField representing a literal JSONable value.
JSONValue returns a new JSONField representing a driver.Valuer value.
LagOver represents the LAG(field, offset, fallback) OVER window function.
LastValueOver represents the LAST_VALUE(field) OVER window function.
LeadOver represents the LEAD(field, offset, fallback) OVER window function.
LeftJoin creates a new left join.
Max represents the MAX() aggregate function.
MaxOver represents the MAX() OVER window function.
Min represents the MIN() aggregate function.
MinOver represents the MIN() OVER window function.
MustJSON is like JSON but it panics on error.
NewBinaryField returns a new BinaryField representing a BLOB column.
NewBooleanField returns a new BooleanField representing a boolean column.
NewCTE creates a new CTE.
NewEnumField returns an EnumField representing an enum column.
NewJSONField returns a new JSONField representing a JSON column.
NewNumberField returns a new NumberField representing a number TableInfo column.
NewRecursiveCTE creates a new recursive CTE.
NewStringField returns a new StringField representing a boolean column.
NewTimeField returns a new TimeField representing a time column.
Not inverts the Predicate i.e.
NthValueOver represents the NTH_VALUE(field, n) OVER window function.
NtileOver represents the NTILE(n) OVER window function.
NumberFieldf creates a new number expression.
Or joins the list of predicates together by the OR operator.
OrderBy creates a new Window.
PartitionBy creates a new Window.
PercentRankOver represents the PERCENT_RANK() OVER window function.
Predicatef creates a new CustomPredicate.
Queryf creates a new CustomQuery.
QuestionInterpolate interpolates the question mark ? placeholders in a query string with the args in the args slice.
RandomString is the RandStringBytesMaskImprSrcSB function taken from https://stackoverflow.com/a/31832326.
RankOver represents the RANK() OVER window function.
RightJoin creates a new right join.
RowNumberOver represents the ROW_NUMBER() OVER window function.
Select creates a new SelectQuery.
SelectDistinct creates a new SelectQuery.
SelectOne creates a new SelectQuery.
SelectRowx creates a new SelectQuery.
Selectx creates a new SelectQuery.
String returns a new StringField representing a literal string value.
Sum represents the SUM() aggregate function.
SumOver represents the SUM() OVER window function.
Time returns a new TimeField representing a literal time.Time value.
Union joins the list of queries together by the UNION operator.
UnionAll joins the list of queries together by the UNION ALL operator.
Update creates a new UpdateQuery.
Values wraps a field to simulate the VALUES(field) MySQL construct for the ON DUPLICATE KEY UPDATE clause.
With creates a new BaseQuery with the CTEs.
WithDB creates a new BaseQuery with the DB.
WithDefaultLog creates a new BaseQuery with the default logger and the LogFlag.
WithLog creates a new BaseQuery with a custom logger and the LogFlag.

# Constants

ExecFlags.
ExecFlags.
ExitCodes.
JoinTypes.
JoinTypes.
JoinTypes.
JoinTypes.
LogFlags.
LogFlags.
LogFlags.
LogFlags.
LogFlags.
VariadicPredicateOperators.
VariadicPredicateOperators.
VariadicQueryOperators.
VariadicQueryOperators.
VariadicQueryOperators.
VariadicQueryOperators.
VariadicQueryOperators.
VariadicQueryOperators.
SelectTypes.
SelectTypes.

# Structs

AliasedCTE is an aliased version of a CTE derived from a parent CTE.
BaseQuery is a common query builder that can transform into a SelectQuery, InsertQuery, UpdateQuery or DeleteQuery depending on the method that you call on it.
BinaryField either represents a BLOB column or a literal []byte value.
BooleanField either represents a boolean column or a literal bool value.
CTE represents an SQL Common Table Expression.
CustomAssignment is an Assignment that can render itself in an arbitrary way by calling ExpandValues on its Format and Values.
CustomField is a Field that can render itself in an arbitrary way by calling ExpandValues on its Format and Values.
CustomPredicate is a Query that can render itself in an arbitrary way by calling ExpandValues on its Format and Values.
CustomQuery is a Query that can render itself in an arbitrary way by calling ExpandValues on its Format and Values.
DeleteQuery represents a DELETE query.
FieldAssignment represents a Field and Value set.
InsertQuery represents an INSERT query.
JoinTable represents an SQL join.
JSONField either represents a JSON column or a literal value that can be marshalled into a JSON string.
NumberField either represents a number column, a number expression or a literal number value.
PredicateCase represents a Predicate and the Result if the Predicate is true.
PredicateCases is the general form of the CASE expression.
Row represents the state of a row after a call to rows.Next().
SelectQuery represents a SELECT query.
SimpleCase represents a Value to be compared against and the Result if it matches.
SimpleCases is the simple form of the CASE expression.
StringField either represents a string column or a literal string value.
TableInfo is struct that implements the Table interface, containing all the information needed to call itself a Table.
TimeField either represents a time column or a literal time.Time value.
UpdateQuery represents an UPDATE query.
VariadicPredicate represents the "x AND y AND z..." or "x OR y OR z..." SQL construct.
VariadicQuery represents a variadic number of queries joined together by an VariadicQueryOperator.
Window represents a window usable in a window function.

# Interfaces

Assignment is an interface representing an assignment used in the UPDATE or INSERT query.
BaseTable is an interface that specialises the Table interface.
Buffer is an.
DB is an interface providing database querying abilities.
Field is an interface that represents either a Table column or an SQL value.
Logger is an interface that provides logging.
Predicate is an interface that evaluates to true or false in SQL.
Query is an interface that specialises the Table interface.
Table is an interface representing anything that you can SELECT FROM or JOIN.

# Type aliases

Assignments is a list of Assignments.
CTEs represents a list of CTEs.
EnumField is a type alias for StringField.
ExecFlag is a flag that affects the behavior of Exec.
ExitCode represents a reason for terminating the rows.Next() loop.
FieldLiteral is a Field where its underlying string is literally plugged into the SQL query.
Fields represents the "field1, field2, etc..." SQL construct.
JoinTables is a list of JoinTables.
JoinType represents the various types of SQL joins.
LogFlag is a flag that affects the verbosity of the Logger output.
RowValue represents an SQL Row Value Expression i.e.
RowValues represents a list of RowValues i.e.
SelectType represents the various SQL selects.
VariadicPredicateOperator is an operator that can join a variadic number of Predicates together.
VariadicQueryOperator is an operator that can join a variadic number of queries together.
Windows is a list of Windows.