| | |
| ------------------ | ----------------------------------------------------------------------------------------------------------------- |
| **_Description:_** | A two-dimensional container with both columns and rows where each cell can hold any basic or structured data type |
| **_Annotation:_** | `table` |
| **_See Also:_** | [Working with Tables](./working_with_tables.md) |
| | [Navigating and Accessing Structured Data](/book/navigating_structured_data.md) |
| | [Language Guide - Table](/lang-guide/chapters/types/basic_types/table.md) |
The table is a core data structure in Nushell. As you run commands, you'll see that many of them return tables as output. A table has both rows and columns.
:::tip
Internally, tables are simply **lists of records**. This means that any command which extracts or isolates a specific row of a table will produce a record. For example, `get 0`, when used on a list, extracts the first value. But when used on a table (a list of records), it extracts a record:
```nu
[{x:12, y:5}, {x:3, y:6}] | get 0
# => ╭───┬────╮
# => │ x │ 12 │
# => │ y │ 5 │
# => ╰───┴────╯
```
:::
## Other Data Types
### Any
| | |
| --------------------- | ----------------------------------------------------------------------------------------------------------- |
| **_Description:_** | When used in a type annotation or signature, matches any type. In other words, a "superset" of other types. |
| **_Annotation:_** | `any` |