SHOW SEMANTIC VIEWS

Lists all registered semantic views, with optional filtering by name pattern, prefix, schema, database, or row count.

Syntax

SHOW [ TERSE ] SEMANTIC VIEWS
    [ LIKE '<pattern>' ]
    [ IN SCHEMA <schema_name> | IN DATABASE <database_name> ]
    [ STARTS WITH '<prefix>' ]
    [ LIMIT <rows> ]

All clauses are optional. When multiple clauses appear, they must follow the order shown above.

Statement Variants

SHOW SEMANTIC VIEWS

Returns all registered semantic views with 6 columns.

SHOW TERSE SEMANTIC VIEWS

Returns a compact listing with 5 columns (no comment column).

Note

SHOW SEMANTIC VIEWS reads committed catalog state. A CREATE / DROP / ALTER issued in the same uncommitted transaction will not appear (or will continue to appear under its old name) until commit. See Reads Inside an Open Transaction See Committed State.

Optional Filtering Clauses

LIKE '<pattern>'

Filters views to those whose name matches the pattern. Uses SQL LIKE pattern syntax: % matches any sequence of characters, _ matches a single character. Matching is case-insensitive (the extension maps LIKE to DuckDB’s ILIKE). The pattern must be enclosed in single quotes.

IN SCHEMA <schema_name>

Filters views to those in the specified schema.

IN DATABASE <database_name>

Filters views to those in the specified database.

STARTS WITH '<prefix>'

Filters views to those whose name begins with the prefix. Matching is case-sensitive. The prefix must be enclosed in single quotes.

LIMIT <rows>

Restricts the output to the first rows results. Must be a positive integer.

When LIKE and STARTS WITH are both present, a view must satisfy both conditions (they are combined with AND).

Warning

Clause order is enforced. LIKE must come before IN SCHEMA/IN DATABASE, and STARTS WITH must come before LIMIT. Placing clauses out of order produces a syntax error.

Output Columns

SHOW SEMANTIC VIEWS returns one row per registered semantic view with 6 columns:

Column

Type

Description

created_on

VARCHAR

Timestamp when the semantic view was created.

name

VARCHAR

The semantic view name.

kind

VARCHAR

Always SEMANTIC_VIEW.

database_name

VARCHAR

The DuckDB database containing the view (e.g., memory).

schema_name

VARCHAR

The DuckDB schema containing the view (e.g., main).

comment

VARCHAR

The view-level comment. Empty string if no comment is set.

SHOW TERSE SEMANTIC VIEWS returns 5 columns (same as above, without comment):

Column

Type

Description

created_on

VARCHAR

Timestamp when the semantic view was created.

name

VARCHAR

The semantic view name.

kind

VARCHAR

Always SEMANTIC_VIEW.

database_name

VARCHAR

The DuckDB database containing the view.

schema_name

VARCHAR

The DuckDB schema containing the view.

Examples

List all semantic views:

The created_on column contains a non-deterministic timestamp. To get deterministic output, select specific columns from the underlying table function:

SELECT name, kind, database_name, schema_name, comment
FROM (SHOW SEMANTIC VIEWS);
┌─────────────────┬───────────────┬───────────────┬─────────────┬──────────────────────┐
│ name            │ kind          │ database_name │ schema_name │ comment              │
├─────────────────┼───────────────┼───────────────┼─────────────┼──────────────────────┤
│ order_metrics   │ SEMANTIC_VIEW │ memory        │ main        │ Revenue analytics    │
│ sales_analytics │ SEMANTIC_VIEW │ memory        │ main        │                      │
└─────────────────┴───────────────┴───────────────┴─────────────┴──────────────────────┘

If no semantic views are registered, the result set is empty.

TERSE variant (no comment column):

SHOW TERSE SEMANTIC VIEWS;
┌─────────────────────┬─────────────────┬───────────────┬───────────────┬─────────────┐
│ created_on          │ name            │ kind          │ database_name │ schema_name │
├─────────────────────┼─────────────────┼───────────────┼───────────────┼─────────────┤
│ 2026-04-02 10:30:00 │ order_metrics   │ SEMANTIC_VIEW │ memory        │ main        │
│ 2026-04-02 10:35:00 │ sales_analytics │ SEMANTIC_VIEW │ memory        │ main        │
└─────────────────────┴─────────────────┴───────────────┴───────────────┴─────────────┘

Filter by schema:

SHOW SEMANTIC VIEWS IN SCHEMA main;

Filter by database:

SHOW SEMANTIC VIEWS IN DATABASE memory;

Filter by pattern with LIKE (case-insensitive):

Find all views whose name contains “order”:

SHOW SEMANTIC VIEWS LIKE '%order%';

Because LIKE is case-insensitive, LIKE '%ORDER%' produces the same results.

Filter by prefix with STARTS WITH (case-sensitive):

Find views whose name starts with “sales”:

SHOW SEMANTIC VIEWS STARTS WITH 'sales';

STARTS WITH is case-sensitive. STARTS WITH 'Sales' would return no results because the view is named sales_analytics (lowercase).

Limit the number of results:

SHOW SEMANTIC VIEWS LIMIT 1;

Combine multiple clauses:

All optional clauses can be combined, following the required order:

SHOW SEMANTIC VIEWS LIKE '%a%' IN SCHEMA main STARTS WITH 'sales' LIMIT 10;

TERSE with filtering:

SHOW TERSE SEMANTIC VIEWS LIKE '%order%';

SHOW TERSE SEMANTIC VIEWS IN SCHEMA main;

The statement is case-insensitive:

show semantic views like '%order%';