El sistema de consultas se divide en dos niveles complementarios:

1. query() → bajo nivel (SQL estructurado)

2. QueryBox → alto nivel (API declarativa encadenable)


1. Función query()

Firma

query(
    db_path: str,
    select: str | list,
    _from: str,
    sp_select: list = None,
    join: list = None,
    condition: list = None,
    group_by: list = None,
    order_by: list = None,
    limit: int = None
)

Funcionamiento

Construye dinámicamente:

SELECT ... FROM ...
JOIN ...
WHERE ...
GROUP BY ...
ORDER BY ...
LIMIT ...

Con:


Uso como método de clase

User.query(...)

Esto: