The SQL editor
Tabs, run modes, saved scripts, and everything on the toolbar.
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.
The layout
Four regions, top to bottom:
- The toolbar — connection picker, workspace status, and the View / Script menus.
- The tab strip — one tab per query, plus the Run control and the SQL Assistant.
- The editor — Monaco, with autocomplete and syntax highlighting.
- 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. |
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 1000to interactive queries. It only touchesSELECT,WITH, andVALUES; DDL, DML, andSHOWrun 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 tab — Cmd/Ctrl + 1 through 9.
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.
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.
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 + 1–9 | Jump to tab 1–9 |
| Ctrl/Cmd + Space | Force autocomplete |
| Esc | Close the results panel |