SHOW SEMANTIC VIEWS¶
Lists all registered semantic views, with optional filtering by name pattern, prefix, or row count.
Syntax¶
SHOW SEMANTIC VIEWS
[ LIKE '<pattern>' ]
[ STARTS WITH '<prefix>' ]
[ LIMIT <rows> ]
All clauses are optional. When multiple clauses appear, they must follow the order shown above.
Optional Filtering Clauses¶
LIKE '<pattern>'Filters views to those whose name matches the pattern. Uses SQL
LIKEpattern syntax:%matches any sequence of characters,_matches a single character. Matching is case-insensitive (the extension mapsLIKEto DuckDB’sILIKE). The pattern must be enclosed in single quotes.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 STARTS WITH, and STARTS WITH must come before LIMIT. Placing clauses out of order produces a syntax error.
Output Columns¶
Returns one row per registered semantic view with 5 columns:
Column |
Type |
Description |
|---|---|---|
|
VARCHAR |
Timestamp when the semantic view was created. |
|
VARCHAR |
The semantic view name. |
|
VARCHAR |
Always |
|
VARCHAR |
The DuckDB database containing the view (e.g., |
|
VARCHAR |
The DuckDB schema containing the view (e.g., |
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
FROM (SHOW SEMANTIC VIEWS);
┌─────────────────┬───────────────┬───────────────┬─────────────┐
│ name │ kind │ database_name │ schema_name │
├─────────────────┼───────────────┼───────────────┼─────────────┤
│ order_metrics │ SEMANTIC_VIEW │ memory │ main │
│ sales_analytics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────┴───────────────┴───────────────┴─────────────┘
If no semantic views are registered, the result set is empty.
Filter by pattern with LIKE (case-insensitive):
Find all views whose name contains “order”:
SHOW SEMANTIC VIEWS LIKE '%order%';
┌─────────────────────┬───────────────┬───────────────┬───────────────┬─────────────┐
│ created_on │ name │ kind │ database_name │ schema_name │
├─────────────────────┼───────────────┼───────────────┼───────────────┼─────────────┤
│ 2026-04-02 10:30:00 │ order_metrics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────────┴───────────────┴───────────────┴───────────────┴─────────────┘
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';
┌─────────────────────┬─────────────────┬───────────────┬───────────────┬─────────────┐
│ created_on │ name │ kind │ database_name │ schema_name │
├─────────────────────┼─────────────────┼───────────────┼───────────────┼─────────────┤
│ 2026-04-02 10:35:00 │ sales_analytics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────────┴─────────────────┴───────────────┴───────────────┴─────────────┘
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;
┌─────────────────────┬───────────────┬───────────────┬───────────────┬─────────────┐
│ created_on │ name │ kind │ database_name │ schema_name │
├─────────────────────┼───────────────┼───────────────┼───────────────┼─────────────┤
│ 2026-04-02 10:30:00 │ order_metrics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────────┴───────────────┴───────────────┴───────────────┴─────────────┘
Combine multiple clauses:
All optional clauses can be combined, following the required order (LIKE, STARTS WITH, LIMIT):
SHOW SEMANTIC VIEWS LIKE '%a%' STARTS WITH 'sales' LIMIT 10;
┌─────────────────────┬─────────────────┬───────────────┬───────────────┬─────────────┐
│ created_on │ name │ kind │ database_name │ schema_name │
├─────────────────────┼─────────────────┼───────────────┼───────────────┼─────────────┤
│ 2026-04-02 10:35:00 │ sales_analytics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────────┴─────────────────┴───────────────┴───────────────┴─────────────┘
The view sales_analytics matches both LIKE '%a%' (contains “a”) and STARTS WITH 'sales' (begins with “sales”).
Select specific columns to skip the timestamp:
SELECT name, kind, database_name, schema_name
FROM (SHOW SEMANTIC VIEWS)
WHERE name ILIKE '%ics%';
┌─────────────────┬───────────────┬───────────────┬─────────────┐
│ name │ kind │ database_name │ schema_name │
├─────────────────┼───────────────┼───────────────┼─────────────┤
│ order_metrics │ SEMANTIC_VIEW │ memory │ main │
│ sales_analytics │ SEMANTIC_VIEW │ memory │ main │
└─────────────────┴───────────────┴───────────────┴─────────────┘
The statement is case-insensitive:
show semantic views like '%order%';