Skip to content

Latest commit

 

History

History
174 lines (108 loc) · 1.75 KB

query.md

File metadata and controls

174 lines (108 loc) · 1.75 KB

leopards SQL select 帮助手册

WHERE 语句

err := orm.Query().Select().From(`user`).Where(*Predicate).Scan(context.TODO(), &dest)

1. WhereMap

  • WhereMap(map[string]any)
WhereMap(map[string]any{`id`: 10, `age`: 28})

2. Predicate 可选项

  • NotExists(Query): WHERE NOT EXISTS (select * from x )
leopards.NotExists(orm.Query().From(`mobile`).Select())
  • ExprP(expr, args...):
leopards.ExprP(`id > ? and id < ?`, 5, 10)
  • IsNull(col)
leopards.IsNull(`mobile`)
  • Not(*Predicate)
leopards.Not(leopards.EQ(`id`, 10))
  • NotNull(col)
leopards.NotNull(`mobile`)
  • In(col, args...)
leopards.In(`id`, []any{1,2,3})
  • EQ(col, value)
leopards.EQ(`id`, 1)
  • Contains(col, value)
leopards.Contains(`name`, `LL`)
  • LT(col, value)
leopards.LT(`id`, 10)
  • Between(col, v1, v2)
leopards.Between(`id`, 10, 20)
  • LTE(col, value)
leopards.LTE(`id`, 10)
  • GTE(col, value)
leopards.GTE(`id`, 10)
  • GT(col, value)
leopards.GT(`id`, 10)
  • HasPrefix(col, value)
leopards.HasPrefix(`name`, `Y`)
  • NEQ(col, value)
leopards.NEQ(`name`, `Y`)
  • IsFalse(col)
leopards.IsFalse(`name`)
  • IsTrue(col)
leopards.IsTrue(`name`)
  • NotIn(col, args...)
leopards.NotIn(`name`, []any{`aa`, `bb`})

GROUP BY 语句

  • GroupBy(columns...)
GroupBy(`id`, `DATE_FORMAT("%Y-%m-%d")`)

ORDER BY 语句

  • OrderBy(columns)
OrderBy(leopards.Asc(`id`))

HAVING 语句

  • Having(*Predicate)
用法与 `Where` 一致

LIMIT 语句

  • Limit(count)
Limit(10)

OFFSET 语句

  • Offset(count)
Offset(10)