07 · Tables A→ZG · Read & explore
Query rows with filters & projection
Read a subset of rows and columns with query_rows - the default read tool.
query_rows is the default way to read data: pick columns, filter, sort, and
paginate. Reach for aggregate or
execute_sql only when you need something it can't
express.
Query
{
"table": "eddytor.cfg_xxx.<uuid>_products",
"columns": ["product_id", "name", "price"],
"filter": "status = 'active' AND price > 50",
"order_by": "price DESC",
"limit": 20
}eddytor query "SELECT product_id, name, price FROM \`eddytor\`.\`sales\`.\`orders\` WHERE status = 'active' ORDER BY price DESC" --limit 20eddytor query uses Flight SQL - set eddytor config set-flight-url first.
Filter & order syntax
- Filter - standard SQL
WHERE:=,!=,LIKE,IN (...),IS NULL,BETWEEN. - Order -
"price DESC"or"category ASC, price DESC".
Heads up
String values need quotes (
"name = 'Widget'"), numbers
don't ("price > 50"). For NULLs use IS NULL / IS NOT NULL, never = NULL.
Dates are ISO: "order_date > '2026-01-15'".Habits that keep it fast
- Select only the columns you need - faster than fetching everything.
- Default to
limit: 100- raise it only when you need more. - Push filters to the engine rather than filtering client-side.
Exploring unfamiliar data
get_table_schema- columns and types.query_rowswithlimit: 10- see sample rows.profile_table- distributions, nulls, ranges.