-
Notifications
You must be signed in to change notification settings - Fork 0
/
xq_inf_sql_query.go
29 lines (26 loc) · 1.07 KB
/
xq_inf_sql_query.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package xqi
type SqlQuery interface {
SqlCompiler
GetFromTable() SqlTable
GetQueryFields() []SqlField
GetJoins() []SqlJoin
GetWhere() SqlCondition
GetTables() SqlTables
GetGroupFields() []SqlField
GetHaving() SqlCondition
GetOrderFields() []SqlOrderField
GetLimitRows() int
GetLimitOffset() int
Fields(fields func(tables SqlTables) []SqlField) SqlQuery
Where(condition func(tables SqlTables) SqlCondition) SqlQuery
Join(table SqlTable, on func(joinTable SqlTable, tables SqlTables) SqlCondition) SqlQuery
LeftJoin(table SqlTable, on func(joinTable SqlTable, tables SqlTables) SqlCondition) SqlQuery
RightJoin(table SqlTable, on func(joinTable SqlTable, tables SqlTables) SqlCondition) SqlQuery
CrossJoin(table SqlTable, on func(joinTable SqlTable, tables SqlTables) SqlCondition) SqlQuery
Group(fields func(tables SqlTables) []SqlField) SqlQuery
Having(condition func(tables SqlTables) SqlCondition) SqlQuery
Order(fields func(tables SqlTables) []SqlOrderField) SqlQuery
Limit(rows, offset int) SqlQuery
Page(size, index int) SqlQuery
Alias(alias string) SqlTable
}