SQL
Struct Data Type
Rather than retrieving a single key from a struct, star notation (` *`) can be used to retrieve all keys from a struct as separate columns.
This is particularly useful when a prior operation creates a struct of unknown shape, or if a query must handle any potential struct keys.  
All keys within a struct can be returned as separate columns using `*`:  
```sql
SELECT a.*
FROM (SELECT {'x': 1, 'y': 2, 'z': 3} AS a);
```  
<div class="narrow_table"></div>  
| x | y | z |
|:---|:---|:---|
| 1 | 2 | 3 |  
#### Dot Notation Order of Operations {#docs:sql:data_types:struct::dot-notation-order-of-operations}  
Referring to structs with dot notation can be ambiguous with referring to schemas and tables. In general, DuckDB looks for columns first, then for struct keys within columns. DuckDB resolves references in these orders, using the first match to occur: