# Wvlet > Wvlet is a flow-style query language that compiles to SQL for DuckDB, Trino, Snowflake, and Hive. Queries read top-to-bottom in data-processing order, so humans and AI agents can add a step without rewriting nested SQL. > > Version: 2026.3.0 Start with the [Wvlet for AI Agents](https://wvlet.org/wvlet/docs/for-ai-agents.md) page: it has a syntax cheat sheet, a SQL-to-Wvlet mapping table, and common mistakes to avoid. ## Table of Contents - [Wvlet for AI Agents](https://wvlet.org/wvlet/docs/for-ai-agents.md): How AI coding agents should write Wvlet queries. When to choose Wvlet, a flow-style syntax cheat sheet, a SQL-to-Wvlet mapping table, how to run qu... - [Language Bindings](https://wvlet.org/wvlet/docs/bindings.md): Wvlet provides SDKs for various programming languages, allowing you to compile Wvlet queries to SQL directly from your preferred language environment. - [Introduction](https://wvlet.org/wvlet/docs.md): Wvlet is a flow-style query language that compiles to SQL for DuckDB, Trino, Snowflake, and Hive. Start here for installation, query syntax, and us... - [Query Syntax Reference](https://wvlet.org/wvlet/docs/syntax.md): Reference for every Wvlet operator and expression: from, where, select, add, group by, agg, join, concat, order by, limit, and how each maps to SQL. - [AsOf Join](https://wvlet.org/wvlet/docs/syntax/asof-join.md): AsOf join is useful when you want to join two tables by looking at the most recent value from the specific time (_as of this time_) for each record. - [Data Models](https://wvlet.org/wvlet/docs/syntax/data-models.md): In Wvlet, you can define reusable data models, which wraps an Wvlet query with `model (model name) = { ... }` block: - [Flow & Stage Syntax](https://wvlet.org/wvlet/docs/syntax/flow.md): Wvlet provides `flow` and `stage` constructs for defining data pipelines with orchestration capabilities such as retries, timeouts, scheduling, and... - [Quick Start](https://wvlet.org/wvlet/docs/syntax/quick-start.md): A hands-on Wvlet tutorial: install the wv shell, generate TPC-H sample data in DuckDB, and build flow-style queries step by step. - [Standard Library Reference](https://wvlet.org/wvlet/docs/syntax/stdlib-reference.md): Complete listing of the functions defined in the Wvlet standard library, generated from its sources. Call these with dot syntax on a value of the l... - [Standard Library Functions](https://wvlet.org/wvlet/docs/syntax/stdlib.md): Wvlet ships with a standard library of functions that you call with dot syntax on column values, e.g. `name.upper` or `price.round(2)`. Functions c... - [Managing Tables and Schemas](https://wvlet.org/wvlet/docs/syntax/table-management.md): Wvlet provides native statements for creating and managing database schemas and tables, so pipeline scripts no longer need `execute sql"..."` escap... - [Test Syntax](https://wvlet.org/wvlet/docs/syntax/test-syntax.md): In wvlet, you can insert `test` statements in the middle of a query. For example, you can test the number of rows, column names, or the query resul... - [Unnest](https://wvlet.org/wvlet/docs/syntax/unnest.md): The `unnest` function is used to expand an array into table rows: - [Window Function](https://wvlet.org/wvlet/docs/syntax/window.md): Window function computes the data against the whole query result. - [Importing Database Catalogs](https://wvlet.org/wvlet/docs/usage/catalog-import.md): `wvlet catalog import` scans your database once and saves each table's schema as Wvlet `table` declarations in the `catalog/` folder of your projec... - [CLI Reference](https://wvlet.org/wvlet/docs/usage/cli-reference.md): This page provides a comprehensive reference for all Wvlet CLI commands. - [Generate SQL Queries](https://wvlet.org/wvlet/docs/usage/cli.md): Use wvlet compile to generate SQL from Wvlet queries or .wv files, and pipe the SQL to DuckDB or other engines. - [Working with Multiple Connectors](https://wvlet.org/wvlet/docs/usage/connectors.md): A profile in `~/.wvlet/profiles.json` describes a working environment and can activate several connectors at once — for example a production Trino ... - [Connector - DuckDB](https://wvlet.org/wvlet/docs/usage/duckdb.md): Run Wvlet queries on DuckDB, the default in-memory engine: query Parquet files directly by path or URL and generate TPC-H sample data. - [Installation](https://wvlet.org/wvlet/docs/usage/install.md): Install the Wvlet command-line tools (wv and wvlet) with Homebrew on macOS or from a release package on Linux and other platforms. - [Remote Wvlet Server](https://wvlet.org/wvlet/docs/usage/remote-server.md): The `wvlet` CLI can run queries on a central wvlet server instead of a local engine. The server holds the profiles, catalogs, and database credenti... - [Interactive Shell](https://wvlet.org/wvlet/docs/usage/repl.md): Use wv, the interactive Wvlet shell, to explore data and run flow-style queries against DuckDB, Trino, and other engines. - [Connector - Slack](https://wvlet.org/wvlet/docs/usage/slack.md): The Slack connector exposes a Slack workspace as queryable tables and lets flows post messages back to channels. It is a *source* connector: it has... - [Connector - Snowflake](https://wvlet.org/wvlet/docs/usage/snowflake.md): Wvlet supports connecting to Snowflake databases via JDBC. - [Connector - Trino](https://wvlet.org/wvlet/docs/usage/trino.md): Connect Wvlet to Trino with a profile in ~/.wvlet/profiles.json, using password or bearer-token authentication. - [Web UI (wvlet ui)](https://wvlet.org/wvlet/docs/usage/ui.md): You can start a web-based query editor by running `wvlet ui` command. This will start a web server on `http://localhost:9090` where you can write a... - [VS Code Extension](https://wvlet.org/wvlet/docs/usage/vscode.md): The Wvlet extension provides syntax highlighting and language support for `.wv` files in Visual Studio Code. - [Python SDK](https://wvlet.org/wvlet/docs/bindings/python.md): The Wvlet Python SDK provides a native Python interface for compiling Wvlet queries to SQL. It offers high-performance compilation through a bundle... - [TypeScript/JavaScript SDK](https://wvlet.org/wvlet/docs/bindings/typescript.md): The Wvlet TypeScript SDK provides a native JavaScript implementation of the Wvlet compiler, allowing you to compile Wvlet queries to SQL directly i...