Select Basics
Start every query with db.from(...).
const query = db
.from("users")
.where(({ users }) => users.id.gt(10, db.dialect))
.orderBy(({ users }) => users.createdAt.desc())
.limit(20)
.offset(40)
.select(({ users }) => ({
id: users.id,
email: users.email,
}));
Execute or inspect:
const rows = await query.execute();
const compiled = query.compile();
Core methods
from(source)where(predicate)orderBy(predicate)limit(number)offset(number)select(projection)
Repeated where
Multiple .where(...) calls are combined with SQL and.
db
.from("users")
.where(({ users }) => users.id.gt(10, db.dialect))
.where(({ users }) => users.email.like("%@example.com", db.dialect));
Typed source object
from("users") gives a projection callback object with one key (users).
Each column is an Expr<...> with the correct inferred type.