kysely-querying
Installation
SKILL.md
Kysely SELECT Queries, Joins & Expressions
Type-safe query building patterns for Kysely. All builders are immutable — every method returns a new instance.
Decision Tree
| Need | Pattern |
|---|---|
| All columns | db.selectFrom('t').selectAll() |
| Specific columns | .select(['col1', 'col2']) |
| Filtered rows | .where('col', '=', value) |
| Joined tables | .innerJoin('t2', 't2.fk', 't1.pk') |
| Complex expressions | .where((eb) => eb.or([...])) |
| Aggregates | .select((eb) => eb.fn.count('id').as('n')).groupBy(...) |
| Subquery in select | .select((eb) => eb.selectFrom('t2')...as('alias')) |
| Subquery in where | .where('col', 'in', db.selectFrom('t2').select('col')) |
| No FROM clause | db.selectNoFrom((eb) => [...]) |