Lakehouse

The SQL editor

Tabs, run modes, saved scripts, and everything on the toolbar.

Last updated August 10, 2026
Reading time 6 min read

The SQL editor lives under Developer → SQL Editor. It's a multi-tab editor built on Monaco — the same engine behind VS Code — pointed at whichever lakehouse engine you select. This article is the tour: what's on the toolbar, how the run controls work, and the shortcuts worth learning.

Open a project

The layout

Four regions, top to bottom:

  1. The toolbar — connection picker, workspace status, and the View / Script menus.
  2. The tab strip — one tab per query, plus the Run control and the SQL Assistant.
  3. The editor — Monaco, with autocomplete and syntax highlighting.
  4. The results panel — below the editor, resizable, closable.

The Object Explorer, Query History, and Saved Queries panels open alongside the editor from the View menu.

The toolbar

Connection and workspace status

On the left, the connection picker chooses which engine and connection every tab runs against. Next to it, the status indicator shows the state of the compute behind it:

  • Start workspace when it's asleep — a sleeping workspace never starts just because you hit Run.
  • Starting workspace… while it boots, which takes about a minute.
  • Connected once it's ready.

See Clusters, wake and sleep for what's happening underneath.

The View menu

A single View menu holds the five panel toggles. Each one is a checkbox — click to show, click again to hide:

Item What it toggles
Object Explorer The catalog → schema → table → column tree.
Query History Everything you've run, most recent first.
Saved Queries Your named, saved queries.
Results Panel The results pane under the editor.
Autocomplete Table and column suggestions as you type.
Autocomplete off doesn't mean gone

Turning Autocomplete off stops suggestions appearing as you type — Ctrl/Cmd + Space still summons them on demand. Worth doing on a slow connection or if you find the popup distracting.

The Script menu

Script manages a query as a saved, versioned artifact on the server — distinct from Saved Queries, which are a lighter personal list:

Item What it does
Save to Server Save the tab as a script. Saving again creates a new version.
Open Saved Browse the script gallery and open one into a tab.
Version History Every version of the linked script. Disabled until you've saved it.
Share Share the script with teammates. Owners only.

Once a tab is linked to a saved script, the tab shows a small badge with the script name and its current version number. An unsaved edit shows a dot instead.

The rest of the toolbar

  • Limit results (funnel icon) — appends LIMIT 1000 to interactive queries. It only touches SELECT, WITH, and VALUES; DDL, DML, and SHOW run untouched. The tooltip tells you which state you're in.
  • Connection credentials (key icon) — the credentials for connecting an external BI tool to this engine. Disabled when the engine doesn't vend user credentials.
  • SQL Reference (book icon) — a per-engine cheat sheet of key functions, opened as a dropdown.

Tabs

Each tab holds its own query text, its own results, and its own run state — one tab can be executing while you write in another.

  • New tab — the + at the end of the strip, or Cmd/Ctrl + T.
  • Close tab — the × on the tab, or Cmd/Ctrl + W.
  • Reorder — drag a tab along the strip.
  • Jump to a tabCmd/Ctrl + 1 through 9.
One connection, all tabs

Tabs share a single connection. Switching the connection picker re-targets every open tab, so there's no "Trino tab next to a Databricks tab" — to compare engines, switch and re-run. See Multi-engine SQL.

Running a query

The Run control is a split button: the ▶ button on the left, a caret on the right for more options.

Action What runs
▶ / Cmd/Ctrl + Enter The statement at the cursor — or your selection, if any.
Caret → Run current statement The same thing, spelled out.
Caret → Run selection What the first item becomes when text is selected.
Caret → Run all (N) Every statement in the tab, in order. N is the count.

Run all is only enabled when the tab actually holds more than one statement. Each statement's result appears as its own entry in the results panel, so you can step through what a multi-statement script did.

While a query runs, the ▶ becomes a Cancel control. If several tabs are executing at once, a second control offers Stop all N running queries.

The Run tooltip tells you why it's disabled

Hover the Run button when it's greyed out and it says which of the reasons applies — the workspace is asleep, the workspace is starting, the engine failed to start, or the tab is empty.

The results panel

Results appear below the editor. Sort by clicking a column header, drag the top edge to resize, and close it with the ×, with Esc, or from View → Results Panel.

Above the rows sits an action bar that works on the result you're looking at — no re-running required:

Action What it does
Filter A filter row under the headers. Narrows the rows on screen without re-querying.
Columns Show or hide individual columns. The badge counts what's visible.
Summary A per-column profile — types, nulls, distinct values, and ranges.
CSV Export the result as CSV.
JSON Export the result as JSON.
Chart Visualize the result — pick a chart type from the menu.
Save Save results to datalake (re-runs server-side into a table), or Create automation from this SQL.

Filter, Columns, and Summary are display-side — they reshape what's on screen and never touch the query. Because they belong to a specific result, they reset when you switch to a tab holding a different shape.

Filter is not a substitute for WHERE

The filter row narrows the rows already fetched. If the query returned 1000 rows because of the limit toggle, filtering shows you a slice of those 1000 — not a slice of the table. For a real subset, put it in the WHERE clause and re-run.

After a Run all, the panel gains one sub-tab per statement so you can step through what each one did.

The SQL Assistant

At the right end of the tab strip, SQL Assistant generates SQL from a plain-English description. It knows which engine you're connected to and writes for that dialect, which is the main reason to reach for it — the portable 95% of a query you'll write yourself, but timestamp handling and array functions differ at the margins.

Object DDL

Right-click a table in the Object Explorer to get its DDL. The statement is generated for the engine you're connected to, so the CREATE TABLE you get back is one that engine will actually accept.

Shortcuts

Shortcut Action
Cmd/Ctrl + Enter Run the statement at the cursor
Cmd/Ctrl + T New tab
Cmd/Ctrl + W Close the current tab
Cmd/Ctrl + 19 Jump to tab 1–9
Ctrl/Cmd + Space Force autocomplete
Esc Close the results panel

Where to go next