# `Selecto.Advanced.ValuesClause`

VALUES clause support for inline table generation and data transformations.

VALUES clauses allow creating inline tables from literal data, useful for
lookup tables, data transformations, and testing scenarios.

## Examples

    # Basic VALUES table
    selecto
    |> Selecto.with_values([
        ["PG", "Family Friendly", 1],
        ["PG-13", "Teen", 2],
        ["R", "Adult", 3]
      ], 
      columns: ["rating_code", "description", "sort_order"],
      as: "rating_lookup"
    )
    
    # Map-based VALUES
    selecto
    |> Selecto.with_values([
        %{month: 1, name: "January", days: 31},
        %{month: 2, name: "February", days: 28},
        %{month: 3, name: "March", days: 31}
      ], as: "months")

# `create_values_clause`

Create a VALUES clause specification.

## Parameters

- `data` - List of data rows (lists or maps)
- `opts` - Options including :columns, :as (alias)

## Examples

    # List of lists format
    ValuesClause.create_values_clause([
      ["PG", "Family", 1],
      ["R", "Adult", 3]
    ], columns: ["code", "desc", "order"], as: "ratings")
    
    # Map format (columns inferred)
    ValuesClause.create_values_clause([
      %{id: 1, name: "Alice"},
      %{id: 2, name: "Bob"}
    ], as: "users")

# `validate_and_process_data`

Validate VALUES clause data and infer column information.

Ensures data consistency and infers column names and types.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
