[discrete] [[esql-keep]] === `KEEP` **Syntax** [source,esql] ---- KEEP columns ---- *Parameters* `columns`:: A comma-separated list of columns to keep. Supports wildcards. *Description* The `KEEP` processing command enables you to specify what columns are returned and the order in which they are returned. *Examples* The columns are returned in the specified order: [source.merge.styled,esql] ---- include::{esql-specs}/docs.csv-spec[tag=keep] ---- [%header.monospaced.styled,format=dsv,separator=|] |=== include::{esql-specs}/docs.csv-spec[tag=keep-result] |=== Rather than specify each column by name, you can use wildcards to return all columns with a name that matches a pattern: [source,esql] ---- include::{esql-specs}/docs.csv-spec[tag=keepWildcard] ---- The asterisk wildcard (`*`) by itself translates to all columns that do not match the other arguments. This query will first return all columns with a name that starts with `h`, followed by all other columns: [source,esql] ---- include::{esql-specs}/docs.csv-spec[tag=keepDoubleWildcard] ----