SQL Grammar

On this page Carat arrow pointing down
Warning:
As of November 12, 2021, CockroachDB v20.1 is no longer supported. For more details, refer to the Release Support Policy.
Tip:

This page describes the full CockroachDB SQL grammar. However, as a starting point, it's best to reference our SQL statements pages first, which provide detailed explanations and examples.

stmt_block:

stmt

no references


stmt:

HELPTOKEN preparable_stmt copy_from_stmt comment_stmt execute_stmt deallocate_stmt discard_stmt grant_stmt prepare_stmt revoke_stmt savepoint_stmt release_stmt nonpreparable_set_stmt transaction_stmt

referenced by:


preparable_stmt:

alter_stmt backup_stmt cancel_stmt create_stmt delete_stmt drop_stmt explain_stmt import_stmt insert_stmt pause_stmt reset_stmt restore_stmt resume_stmt export_stmt scrub_stmt select_stmt preparable_set_stmt show_stmt truncate_stmt update_stmt upsert_stmt

referenced by:


copy_from_stmt:

COPY table_name opt_column_list FROM STDIN opt_with_options

referenced by:


comment_stmt:

COMMENT ON DATABASE database_name TABLE table_name COLUMN column_path INDEX table_index_name IS comment_text

referenced by:


execute_stmt:

EXECUTE table_alias_name execute_param_clause

referenced by:


deallocate_stmt:

DEALLOCATE PREPARE name ALL

referenced by:


discard_stmt:

DISCARD ALL

referenced by:


grant_stmt:

GRANT privileges ON targets TO name_list privilege_list TO name_list WITH ADMIN OPTION

referenced by:


prepare_stmt:

PREPARE table_alias_name prep_type_clause AS preparable_stmt

referenced by:


revoke_stmt:

REVOKE privileges ON targets ADMIN OPTION FOR privilege_list FROM name_list

referenced by:


savepoint_stmt:

SAVEPOINT name

referenced by:


release_stmt:

RELEASE savepoint_name

referenced by:


nonpreparable_set_stmt:

set_transaction_stmt

referenced by:


transaction_stmt:

begin_stmt commit_stmt rollback_stmt abort_stmt

referenced by:


alter_stmt:

alter_ddl_stmt alter_role_stmt

referenced by:


backup_stmt:

BACKUP targets TO partitioned_backup opt_as_of_clause opt_incremental opt_with_options

referenced by:


cancel_stmt:

cancel_jobs_stmt cancel_queries_stmt cancel_sessions_stmt

referenced by:


create_stmt:

create_role_stmt create_ddl_stmt create_stats_stmt

referenced by:


delete_stmt:

opt_with_clause DELETE FROM table_expr_opt_alias_idx opt_where_clause opt_sort_clause opt_limit_clause returning_clause

referenced by:


drop_stmt:

drop_ddl_stmt drop_role_stmt

referenced by:


explain_stmt:

EXPLAIN ANALYZE ANALYSE ( explain_option_list ) preparable_stmt

referenced by:


import_stmt:

IMPORT import_format string_or_placeholder TABLE table_name FROM import_format string_or_placeholder CREATE USING string_or_placeholder ( table_elem_list ) import_format DATA ( string_or_placeholder_list ) INTO table_name ( insert_column_list ) import_format DATA ( string_or_placeholder_list ) opt_with_options

referenced by:


insert_stmt:

opt_with_clause INSERT INTO insert_target insert_rest on_conflict returning_clause

referenced by:


pause_stmt:

PAUSE JOB a_expr JOBS select_stmt

referenced by:


reset_stmt:

reset_session_stmt reset_csetting_stmt

referenced by:


restore_stmt:

RESTORE targets FROM partitioned_backup_list opt_as_of_clause opt_with_options

referenced by:


resume_stmt:

RESUME JOB a_expr JOBS select_stmt

referenced by:


export_stmt:

EXPORT INTO import_format string_or_placeholder opt_with_options FROM select_stmt

referenced by:


scrub_stmt:

scrub_table_stmt scrub_database_stmt

referenced by:


select_stmt:

select_no_parens select_with_parens

referenced by:


preparable_set_stmt:

set_session_stmt set_csetting_stmt use_stmt

referenced by:


show_stmt:

show_backup_stmt show_columns_stmt show_constraints_stmt show_create_stmt show_csettings_stmt show_databases_stmt show_grants_stmt show_indexes_stmt show_partitions_stmt show_jobs_stmt show_queries_stmt show_ranges_stmt show_range_for_row_stmt show_roles_stmt show_savepoint_stmt show_schemas_stmt show_sequences_stmt show_session_stmt show_sessions_stmt show_stats_stmt show_tables_stmt show_trace_stmt show_users_stmt show_zone_stmt

referenced by:


truncate_stmt:

TRUNCATE opt_table relation_expr_list opt_drop_behavior

referenced by:


update_stmt:

opt_with_clause UPDATE table_expr_opt_alias_idx SET set_clause_list opt_from_list opt_where_clause opt_sort_clause opt_limit_clause returning_clause

referenced by:


upsert_stmt:

opt_with_clause UPSERT INTO insert_target insert_rest returning_clause

referenced by:


table_name:

db_object_name

referenced by:


opt_column_list:

( name_list )

referenced by:


opt_with_options:

WITH kv_option_list OPTIONS ( kv_option_list )

referenced by:


database_name:

name

referenced by:


comment_text:

SCONST NULL

referenced by:


column_path:

name prefixed_column_path

referenced by:


table_index_name:

table_name @ index_name standalone_index_name

referenced by:


table_alias_name:

name

referenced by:


execute_param_clause:

( expr_list )

referenced by:


name:

identifier unreserved_keyword col_name_keyword

referenced by:


privileges:

ALL privilege_list

referenced by:


targets:

identifier col_name_keyword unreserved_keyword complex_table_pattern table_pattern , TABLE table_pattern_list DATABASE name_list

referenced by:


name_list:

name ,

referenced by:


privilege_list:

privilege ,

referenced by:


prep_type_clause:

( type_list )

referenced by:


savepoint_name:

SAVEPOINT name

referenced by:


set_transaction_stmt:

SET SESSION TRANSACTION transaction_mode_list

referenced by:


begin_stmt:

BEGIN opt_transaction START TRANSACTION begin_transaction

referenced by:


commit_stmt:

COMMIT END opt_transaction

referenced by:


rollback_stmt:

ROLLBACK opt_transaction TO savepoint_name

referenced by:


abort_stmt:

ABORT opt_abort_mod

referenced by:


alter_ddl_stmt:

alter_table_stmt alter_index_stmt alter_view_stmt alter_sequence_stmt alter_database_stmt alter_range_stmt alter_partition_stmt

referenced by:


alter_role_stmt:

ALTER role_or_group_or_user IF EXISTS string_or_placeholder opt_role_options

referenced by:


partitioned_backup:

string_or_placeholder ( string_or_placeholder_list )

referenced by:


opt_as_of_clause:

as_of_clause

referenced by:


opt_incremental:

INCREMENTAL FROM string_or_placeholder_list

referenced by:


cancel_jobs_stmt:

CANCEL JOB a_expr JOBS select_stmt

referenced by:


cancel_queries_stmt:

CANCEL QUERY IF EXISTS a_expr QUERIES IF EXISTS select_stmt

referenced by:


cancel_sessions_stmt:

CANCEL SESSION IF EXISTS a_expr SESSIONS IF EXISTS select_stmt

referenced by:


create_role_stmt:

CREATE role_or_group_or_user IF NOT EXISTS string_or_placeholder opt_role_options

referenced by:


create_ddl_stmt:

create_changefeed_stmt create_database_stmt create_index_stmt create_schema_stmt create_table_stmt create_table_as_stmt create_view_stmt create_sequence_stmt

referenced by:


create_stats_stmt:

CREATE STATISTICS statistics_name opt_stats_columns FROM create_stats_target opt_create_stats_options

referenced by:


opt_with_clause:

with_clause

referenced by:


table_expr_opt_alias_idx:

table_name_opt_idx AS table_alias_name

referenced by:


opt_where_clause:

where_clause

referenced by:


opt_sort_clause:

sort_clause

referenced by:


opt_limit_clause:

limit_clause

referenced by:


returning_clause:

RETURNING target_list NOTHING

referenced by:


drop_ddl_stmt:

drop_database_stmt drop_index_stmt drop_table_stmt drop_view_stmt drop_sequence_stmt

referenced by:


drop_role_stmt:

DROP role_or_group_or_user IF EXISTS string_or_placeholder_list

referenced by:


explain_option_list:

explain_option_name ,

referenced by:


import_format:

name

referenced by:


string_or_placeholder:

non_reserved_word_or_sconst PLACEHOLDER

referenced by:


string_or_placeholder_list:

string_or_placeholder ,

referenced by:


table_elem_list:

table_elem ,

referenced by:


insert_column_list:

insert_column_item ,

referenced by:


insert_target:

table_name AS table_alias_name

referenced by:


insert_rest:

( insert_column_list ) select_stmt DEFAULT VALUES

referenced by:


on_conflict:

ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list opt_where_clause NOTHING

referenced by:


a_expr:

c_expr + - ~ NOT a_expr DEFAULT TYPECAST cast_target TYPEANNOTATE typename COLLATE collation_name AT TIME ZONE a_expr + a_expr - a_expr * a_expr / a_expr FLOORDIV a_expr % a_expr ^ a_expr # a_expr & a_expr | a_expr < a_expr > a_expr ? a_expr JSON_SOME_EXISTS a_expr JSON_ALL_EXISTS a_expr CONTAINS a_expr CONTAINED_BY a_expr = a_expr CONCAT a_expr LSHIFT a_expr RSHIFT a_expr FETCHVAL a_expr FETCHTEXT a_expr FETCHVAL_PATH a_expr FETCHTEXT_PATH a_expr REMOVE_PATH a_expr INET_CONTAINED_BY_OR_EQUALS a_expr AND_AND a_expr INET_CONTAINS_OR_EQUALS a_expr LESS_EQUALS a_expr GREATER_EQUALS a_expr NOT_EQUALS a_expr AND a_expr OR a_expr LIKE a_expr LIKE a_expr ESCAPE a_expr NOT LIKE a_expr NOT LIKE a_expr ESCAPE a_expr ILIKE a_expr ILIKE a_expr ESCAPE a_expr NOT ILIKE a_expr NOT ILIKE a_expr ESCAPE a_expr SIMILAR TO a_expr SIMILAR TO a_expr ESCAPE a_expr NOT SIMILAR TO a_expr NOT SIMILAR TO a_expr ESCAPE a_expr ~ a_expr NOT_REGMATCH a_expr REGIMATCH a_expr NOT_REGIMATCH a_expr IS NAN IS NOT NAN IS NULL ISNULL IS NOT NULL NOTNULL IS TRUE IS NOT TRUE IS FALSE IS NOT FALSE IS UNKNOWN IS NOT UNKNOWN IS DISTINCT FROM a_expr IS NOT DISTINCT FROM a_expr IS OF ( type_list ) IS NOT OF ( type_list ) BETWEEN opt_asymmetric b_expr AND a_expr NOT BETWEEN opt_asymmetric b_expr AND a_expr BETWEEN SYMMETRIC b_expr AND a_expr NOT BETWEEN SYMMETRIC b_expr AND a_expr IN in_expr NOT IN in_expr subquery_op sub_type a_expr

referenced by:


reset_session_stmt:

RESET SESSION session_var

referenced by:


reset_csetting_stmt:

RESET CLUSTER SETTING var_name

referenced by:


partitioned_backup_list:

partitioned_backup ,

referenced by:


scrub_table_stmt:

EXPERIMENTAL SCRUB TABLE table_name opt_as_of_clause opt_scrub_options_clause

referenced by:


scrub_database_stmt:

EXPERIMENTAL SCRUB DATABASE database_name opt_as_of_clause

referenced by:


select_no_parens:

simple_select select_clause sort_clause opt_sort_clause for_locking_clause opt_select_limit select_limit opt_for_locking_clause with_clause select_clause sort_clause opt_sort_clause for_locking_clause opt_select_limit select_limit opt_for_locking_clause

referenced by:


select_with_parens:

( select_no_parens select_with_parens )

referenced by:


set_session_stmt:

SET SESSION set_rest_more CHARACTERISTICS AS TRANSACTION transaction_mode_list set_rest_more

referenced by:


set_csetting_stmt:

SET CLUSTER SETTING var_name to_or_eq var_value

referenced by:


use_stmt:

USE var_value

referenced by:


show_backup_stmt:

SHOW BACKUP SCHEMAS string_or_placeholder opt_with_options

referenced by:


show_columns_stmt:

SHOW COLUMNS FROM table_name with_comment

referenced by:


show_constraints_stmt:

SHOW CONSTRAINT CONSTRAINTS FROM table_name

referenced by:


show_create_stmt:

SHOW CREATE table_name

referenced by:


show_csettings_stmt:

SHOW CLUSTER SETTING var_name ALL SETTINGS ALL PUBLIC CLUSTER SETTINGS

referenced by:


show_databases_stmt:

SHOW DATABASES with_comment

referenced by:


show_grants_stmt:

SHOW GRANTS opt_on_targets_roles for_grantee_clause

referenced by:


show_indexes_stmt:

SHOW INDEX INDEXES KEYS FROM table_name DATABASE database_name with_comment

referenced by:


show_partitions_stmt:

SHOW PARTITIONS FROM TABLE table_name DATABASE database_name INDEX table_index_name table_name @ *

referenced by:


show_jobs_stmt:

SHOW AUTOMATIC JOBS JOBS WHEN COMPLETE select_stmt JOB WHEN COMPLETE a_expr

referenced by:


show_queries_stmt:

SHOW ALL opt_cluster QUERIES

referenced by:


show_ranges_stmt:

SHOW RANGES FROM TABLE table_name INDEX table_index_name DATABASE database_name

referenced by:


show_range_for_row_stmt:

SHOW RANGE FROM TABLE table_name INDEX table_index_name FOR ROW ( expr_list )

referenced by:


show_roles_stmt:

SHOW ROLES

referenced by:


show_savepoint_stmt:

SHOW SAVEPOINT STATUS

referenced by:


show_schemas_stmt:

SHOW SCHEMAS FROM name

referenced by:


show_sequences_stmt:

SHOW SEQUENCES FROM name

referenced by:


show_session_stmt:

SHOW SESSION session_var

referenced by:


show_sessions_stmt:

SHOW ALL opt_cluster SESSIONS

referenced by:


show_stats_stmt:

SHOW STATISTICS FOR TABLE table_name

referenced by:


show_tables_stmt:

SHOW TABLES FROM name . name with_comment

referenced by:


show_trace_stmt:

SHOW opt_compact KV TRACE FOR SESSION

referenced by:


show_users_stmt:

SHOW USERS

referenced by:


show_zone_stmt:

SHOW ZONE CONFIGURATION FOR RANGE zone_name DATABASE database_name TABLE table_name INDEX table_index_name opt_partition PARTITION partition_name OF TABLE table_name INDEX table_index_name CONFIGURATIONS ALL ZONE CONFIGURATIONS

referenced by:


opt_table:

TABLE

referenced by:


relation_expr_list:

relation_expr ,

referenced by:


opt_drop_behavior:

CASCADE RESTRICT

referenced by:


set_clause_list:

set_clause ,

referenced by:


opt_from_list:

FROM from_list

referenced by:


db_object_name:

simple_db_object_name complex_db_object_name

referenced by:


kv_option_list:

kv_option ,

referenced by:


prefixed_column_path:

db_object_name_component . unrestricted_name . unrestricted_name . unrestricted_name

referenced by:


index_name:

unrestricted_name

referenced by:


standalone_index_name:

db_object_name

referenced by:


expr_list:

a_expr ,

referenced by:


unreserved_keyword:

ABORT ACTION ADD ADMIN AGGREGATE ALTER AT AUTOMATIC AUTHORIZATION BACKUP BEGIN BIGSERIAL BLOB BOOL BUCKET_COUNT BUNDLE BY BYTEA BYTES CACHE CANCEL CASCADE CHANGEFEED CLUSTER COLUMNS COMMENT COMMIT COMMITTED COMPACT COMPLETE CONFLICT CONFIGURATION CONFIGURATIONS CONFIGURE CONSTRAINTS CONVERSION COPY COVERING CREATEROLE CUBE CURRENT CYCLE DATA DATABASE DATABASES DATE DAY DEALLOCATE DELETE DEFERRED DISCARD DOMAIN DOUBLE DROP ENCODING ENUM ESCAPE EXCLUDE EXECUTE EXPERIMENTAL EXPERIMENTAL_AUDIT EXPERIMENTAL_FINGERPRINTS EXPERIMENTAL_RELOCATE EXPERIMENTAL_REPLICA EXPIRATION EXPLAIN EXPORT EXTENSION FILES FILTER FIRST FLOAT4 FLOAT8 FOLLOWING FORCE_INDEX FUNCTION GLOBAL GRANTS GROUPS HASH HIGH HISTOGRAM HOUR IMMEDIATE IMPORT INCLUDE INCREMENT INCREMENTAL INDEXES INET INJECT INSERT INT2 INT2VECTOR INT4 INT8 INT64 INTERLEAVE INVERTED ISOLATION JOB JOBS JSON JSONB KEY KEYS KV LANGUAGE LAST LC_COLLATE LC_CTYPE LEASE LESS LEVEL LIST LOCAL LOCKED LOGIN LOOKUP LOW MATCH MATERIALIZED MAXVALUE MERGE MINUTE MINVALUE MONTH NAMES NAN NAME NEXT NO NORMAL NO_INDEX_JOIN NOCREATEROLE NOLOGIN NOWAIT NULLS IGNORE_FOREIGN_KEYS OF OFF OID OIDS OIDVECTOR OPERATOR OPT OPTION OPTIONS ORDINALITY OTHERS OVER OWNED PARENT PARTIAL PARTITION PARTITIONS PASSWORD PAUSE PHYSICAL PLAN PLANS PRECEDING PREPARE PRESERVE PRIORITY PUBLIC PUBLICATION QUERIES QUERY RANGE RANGES READ RECURSIVE REF REGCLASS REGPROC REGPROCEDURE REGNAMESPACE REGTYPE REINDEX RELEASE RENAME REPEATABLE REPLACE RESET RESTORE RESTRICT RESUME REVOKE ROLE ROLES ROLLBACK ROLLUP ROWS RULE SETTING SETTINGS STATUS SAVEPOINT SCATTER SCHEMA SCHEMAS SCRUB SEARCH SECOND SERIAL SERIALIZABLE SERIAL2 SERIAL4 SERIAL8 SEQUENCE SEQUENCES SERVER SESSION SESSIONS SET SHARE SHOW SIMPLE SKIP SMALLSERIAL SNAPSHOT SPLIT SQL START STATISTICS STDIN STORE STORED STORING STRICT STRING SUBSCRIPTION SYNTAX SYSTEM TABLES TEMP TEMPLATE TEMPORARY TESTING_RELOCATE TEXT TIES TRACE TRANSACTION TRIGGER TRUNCATE TRUSTED TYPE THROTTLING UNBOUNDED UNCOMMITTED UNKNOWN UNLOGGED UNSPLIT UNTIL UPDATE UPSERT UUID USE USERS VALID VALIDATE VALUE VARYING VIEW WITHIN WITHOUT WRITE YEAR ZONE

referenced by:


col_name_keyword:

ANNOTATE_TYPE BETWEEN BIGINT BIT BOOLEAN CHAR CHARACTER CHARACTERISTICS COALESCE DEC DECIMAL EXISTS EXTRACT EXTRACT_DURATION FLOAT GREATEST GROUPING IF IFERROR IFNULL INT INTEGER INTERVAL ISERROR LEAST NULLIF NUMERIC OUT OVERLAY POSITION PRECISION REAL ROW SMALLINT SUBSTRING TIME TIMETZ TIMESTAMP TIMESTAMPTZ TREAT TRIM VALUES VARBIT VARCHAR VIRTUAL WORK

referenced by:


complex_table_pattern:

complex_db_object_name db_object_name_component . unrestricted_name . *

referenced by:


table_pattern:

simple_db_object_name complex_table_pattern

referenced by:


table_pattern_list:

table_pattern ,

referenced by:


privilege:

name CREATE GRANT SELECT

referenced by:


type_list:

typename ,

referenced by:


transaction_mode_list:

transaction_mode opt_comma

referenced by:


opt_transaction:

TRANSACTION

referenced by:


begin_transaction:

transaction_mode_list

referenced by:


opt_abort_mod:

TRANSACTION WORK

referenced by:


alter_table_stmt:

alter_onetable_stmt alter_split_stmt alter_unsplit_stmt alter_scatter_stmt alter_zone_table_stmt alter_rename_table_stmt

referenced by:


alter_index_stmt:

alter_oneindex_stmt alter_split_index_stmt alter_unsplit_index_stmt alter_scatter_index_stmt alter_rename_index_stmt alter_zone_index_stmt

referenced by:


alter_view_stmt:

alter_rename_view_stmt

referenced by:


alter_sequence_stmt:

alter_rename_sequence_stmt alter_sequence_options_stmt

referenced by:


alter_database_stmt:

alter_rename_database_stmt alter_zone_database_stmt

referenced by:


alter_range_stmt:

alter_zone_range_stmt

referenced by:


alter_partition_stmt:

alter_zone_partition_stmt

referenced by:


role_or_group_or_user:

ROLE USER

referenced by:


opt_role_options:

opt_with role_options

referenced by:


as_of_clause:

AS OF SYSTEM TIME a_expr

referenced by:


create_changefeed_stmt:

CREATE CHANGEFEED FOR changefeed_targets opt_changefeed_sink opt_with_options

referenced by:


create_database_stmt:

CREATE DATABASE IF NOT EXISTS database_name opt_with opt_template_clause opt_encoding_clause opt_lc_collate_clause opt_lc_ctype_clause

referenced by:


create_index_stmt:

CREATE opt_unique INDEX opt_concurrently opt_index_name IF NOT EXISTS index_name ON table_name opt_using_gin_btree ( index_params ) opt_hash_sharded INVERTED INDEX opt_concurrently opt_index_name IF NOT EXISTS index_name ON table_name ( index_params ) opt_storing opt_interleave opt_partition_by

referenced by:


create_schema_stmt:

CREATE SCHEMA IF NOT EXISTS schema_name

referenced by:


create_table_stmt:

CREATE opt_temp_create_table TABLE IF NOT EXISTS table_name ( opt_table_elem_list ) opt_interleave opt_partition_by

referenced by:


create_table_as_stmt:

CREATE opt_temp_create_table TABLE IF NOT EXISTS table_name create_as_opt_col_list AS select_stmt

referenced by:


create_view_stmt:

CREATE opt_temp VIEW IF NOT EXISTS view_name opt_column_list AS select_stmt

referenced by:


create_sequence_stmt:

CREATE opt_temp SEQUENCE IF NOT EXISTS sequence_name opt_sequence_option_list

referenced by:


statistics_name:

name

referenced by:


opt_stats_columns:

ON name_list

referenced by:


create_stats_target:

table_name

referenced by:


opt_create_stats_options:

as_of_clause

referenced by:


with_clause:

WITH RECURSIVE cte_list

referenced by:


table_name_opt_idx:

table_name opt_index_flags

referenced by:


where_clause:

WHERE a_expr

referenced by:


sort_clause:

ORDER BY sortby_list

referenced by:


limit_clause:

LIMIT ALL a_expr FETCH first_or_next select_fetch_first_value row_or_rows ONLY

referenced by:


target_list:

target_elem ,

referenced by:


drop_database_stmt:

DROP DATABASE IF EXISTS database_name opt_drop_behavior

referenced by:


drop_index_stmt:

DROP INDEX opt_concurrently IF EXISTS table_index_name_list opt_drop_behavior

referenced by:


drop_table_stmt:

DROP TABLE IF EXISTS table_name_list opt_drop_behavior

referenced by:


drop_view_stmt:

DROP VIEW IF EXISTS table_name_list opt_drop_behavior

referenced by:


drop_sequence_stmt:

DROP SEQUENCE IF EXISTS table_name_list opt_drop_behavior

referenced by:


explain_option_name:

non_reserved_word

referenced by:


non_reserved_word_or_sconst:

non_reserved_word SCONST

referenced by:


table_elem:

column_def index_def family_def table_constraint

referenced by:


insert_column_item:

column_name

referenced by:


opt_conf_expr:

( name_list )

referenced by:


c_expr:

d_expr array_subscripts case_expr EXISTS select_with_parens

referenced by:


cast_target:

typename

referenced by:


typename:

simple_typename opt_array_bounds ARRAY

referenced by:


collation_name:

unrestricted_name

referenced by:


opt_asymmetric:

ASYMMETRIC

referenced by:


b_expr:

c_expr + - ~ b_expr TYPECAST cast_target TYPEANNOTATE typename + - * / FLOORDIV % ^ # & | < > = CONCAT LSHIFT RSHIFT LESS_EQUALS GREATER_EQUALS NOT_EQUALS b_expr IS NOT DISTINCT FROM b_expr OF ( type_list )

referenced by:


in_expr:

select_with_parens expr_tuple1_ambiguous

referenced by:


subquery_op:

math_op NOT LIKE ILIKE

referenced by:


sub_type:

ANY SOME ALL

referenced by:


session_var:

identifier ALL DATABASE NAMES SESSION_USER TIME ZONE

referenced by:


var_name:

name attrs

referenced by:


opt_scrub_options_clause:

WITH OPTIONS scrub_option_list

referenced by:


simple_select:

simple_select_clause values_clause table_clause set_operation

referenced by:


select_clause:

simple_select select_with_parens

referenced by:


for_locking_clause:

for_locking_items FOR READ ONLY

referenced by:


opt_select_limit:

select_limit

referenced by:


select_limit:

limit_clause offset_clause offset_clause limit_clause

referenced by:


opt_for_locking_clause:

for_locking_clause

referenced by:


set_rest_more:

generic_set

referenced by:


to_or_eq:

= TO

referenced by:


var_value:

a_expr extra_var_value

referenced by:


with_comment:

WITH COMMENT

referenced by:


opt_on_targets_roles:

ON targets_roles

referenced by:


for_grantee_clause:

FOR name_list

referenced by:


opt_cluster:

CLUSTER LOCAL

referenced by:


opt_compact:

COMPACT

referenced by:


zone_name:

unrestricted_name

referenced by:


opt_partition:

partition

referenced by:


partition_name:

unrestricted_name

referenced by:


relation_expr:

table_name * ONLY table_name ( table_name )

referenced by:


set_clause:

single_set_clause multiple_set_clause

referenced by:


from_list:

table_ref ,

referenced by:


simple_db_object_name:

db_object_name_component

referenced by:


complex_db_object_name:

db_object_name_component . unrestricted_name . unrestricted_name

referenced by:


kv_option:

name SCONST = string_or_placeholder

referenced by:


db_object_name_component:

name FAMILY cockroachdb_extra_reserved_keyword

referenced by:


unrestricted_name:

identifier unreserved_keyword col_name_keyword type_func_name_keyword reserved_keyword

referenced by:


transaction_mode:

transaction_user_priority transaction_read_mode as_of_clause

referenced by:


opt_comma:

,

referenced by:


alter_onetable_stmt:

ALTER TABLE IF EXISTS relation_expr alter_table_cmds

referenced by:


alter_split_stmt:

ALTER TABLE table_name SPLIT AT select_stmt WITH EXPIRATION a_expr

referenced by:


alter_unsplit_stmt:

ALTER TABLE table_name UNSPLIT AT select_stmt ALL

referenced by:


alter_scatter_stmt:

ALTER TABLE table_name SCATTER FROM ( expr_list ) TO ( expr_list )

referenced by:


alter_zone_table_stmt:

ALTER TABLE table_name set_zone_config

referenced by:


alter_rename_table_stmt:

ALTER TABLE IF EXISTS relation_expr RENAME TO table_name

referenced by:


alter_oneindex_stmt:

ALTER INDEX IF EXISTS table_index_name alter_index_cmds

referenced by:


alter_split_index_stmt:

ALTER INDEX table_index_name SPLIT AT select_stmt WITH EXPIRATION a_expr

referenced by:


alter_unsplit_index_stmt:

ALTER INDEX table_index_name UNSPLIT AT select_stmt ALL

referenced by:


alter_scatter_index_stmt:

ALTER INDEX table_index_name SCATTER FROM ( expr_list ) TO ( expr_list )

referenced by:


alter_rename_index_stmt:

ALTER INDEX IF EXISTS table_index_name RENAME TO index_name

referenced by:


alter_zone_index_stmt:

ALTER INDEX table_index_name set_zone_config

referenced by:


alter_rename_view_stmt:

ALTER VIEW IF EXISTS relation_expr RENAME TO view_name

referenced by:


alter_rename_sequence_stmt:

ALTER SEQUENCE IF EXISTS relation_expr RENAME TO sequence_name

referenced by:


alter_sequence_options_stmt:

ALTER SEQUENCE IF EXISTS sequence_name sequence_option_list

referenced by:


alter_rename_database_stmt:

ALTER DATABASE database_name RENAME TO database_name

referenced by:


alter_zone_database_stmt:

ALTER DATABASE database_name set_zone_config

referenced by:


alter_zone_range_stmt:

ALTER RANGE zone_name set_zone_config

referenced by:


alter_zone_partition_stmt:

ALTER PARTITION partition_name OF TABLE table_name INDEX table_index_name table_name @ * set_zone_config

referenced by:


opt_with:

WITH

referenced by:


role_options:

role_option

referenced by:


changefeed_targets:

TABLE single_table_pattern_list

referenced by:


opt_changefeed_sink:

INTO string_or_placeholder

referenced by:


opt_template_clause:

TEMPLATE opt_equal non_reserved_word_or_sconst

referenced by:


opt_encoding_clause:

ENCODING opt_equal non_reserved_word_or_sconst

referenced by:


opt_lc_collate_clause:

LC_COLLATE opt_equal non_reserved_word_or_sconst

referenced by:


opt_lc_ctype_clause:

LC_CTYPE opt_equal non_reserved_word_or_sconst

referenced by:


opt_unique:

UNIQUE

referenced by:


opt_concurrently:

CONCURRENTLY

referenced by:


opt_index_name:

opt_name

referenced by:


opt_using_gin_btree:

USING name

referenced by:


index_params:

index_elem ,

referenced by:


opt_hash_sharded:

USING HASH WITH BUCKET_COUNT = a_expr

referenced by:


opt_storing:

storing ( name_list )

referenced by:


opt_interleave:

INTERLEAVE IN PARENT table_name ( name_list )

referenced by:


opt_partition_by:

partition_by

referenced by:


schema_name:

name

referenced by:


opt_temp_create_table:

opt_temp LOCAL GLOBAL TEMPORARY TEMP

referenced by:


opt_table_elem_list:

table_elem_list

referenced by:


create_as_opt_col_list:

( create_as_table_defs )

referenced by:


opt_temp:

TEMPORARY TEMP

referenced by:


view_name:

table_name

referenced by:


sequence_name:

db_object_name

referenced by:


opt_sequence_option_list:

sequence_option_list

referenced by:


cte_list:

common_table_expr ,

referenced by:


opt_index_flags:

@ index_name [ ICONST ] { index_flags_param_list }

referenced by:


sortby_list:

sortby ,

referenced by:


first_or_next:

FIRST NEXT

referenced by:


select_fetch_first_value:

c_expr only_signed_iconst only_signed_fconst

referenced by:


row_or_rows:

ROW ROWS

referenced by:


target_elem:

a_expr AS target_name identifier *

referenced by:


table_index_name_list:

table_index_name ,

referenced by:


table_name_list:

table_name ,

referenced by:


non_reserved_word:

identifier unreserved_keyword col_name_keyword type_func_name_keyword

referenced by:


column_def:

column_name typename col_qual_list

referenced by:


index_def:

UNIQUE INDEX opt_index_name ( index_params ) opt_hash_sharded opt_storing opt_interleave opt_partition_by INVERTED INDEX opt_name ( index_params )

referenced by:


family_def:

FAMILY opt_family_name ( name_list )

referenced by:


table_constraint:

CONSTRAINT constraint_name constraint_elem

referenced by:


column_name:

name

referenced by:


d_expr:

@ ICONST FCONST const_typename SCONST BCONST BITCONST interval_value TRUE FALSE NULL column_path_with_star PLACEHOLDER ( a_expr ) . * unrestricted_name @ ICONST func_expr select_with_parens labeled_row ARRAY select_with_parens row array_expr

referenced by:


array_subscripts:

array_subscript

referenced by:


case_expr:

CASE case_arg when_clause_list case_default END

referenced by:


simple_typename:

const_typename bit_with_length character_with_length interval_type postgres_oid

referenced by:


opt_array_bounds:

[ ]

referenced by:


expr_tuple1_ambiguous:

( tuple1_ambiguous_values )

referenced by:


math_op:

+ - * / FLOORDIV % & | ^ # < > = LESS_EQUALS GREATER_EQUALS NOT_EQUALS

referenced by:


attrs:

. unrestricted_name

referenced by:


scrub_option_list:

scrub_option ,

referenced by:


simple_select_clause:

SELECT opt_all_clause DISTINCT distinct_on_clause target_list from_clause opt_where_clause group_clause having_clause window_clause

referenced by:


values_clause:

VALUES ( expr_list ) ,

referenced by:


table_clause:

TABLE table_ref

referenced by:


set_operation:

select_clause UNION INTERSECT EXCEPT all_or_distinct select_clause

referenced by:


for_locking_items:

for_locking_item

referenced by:


offset_clause:

OFFSET a_expr select_fetch_first_value row_or_rows

referenced by:


generic_set:

var_name to_or_eq var_list

referenced by:


extra_var_value:

ON cockroachdb_extra_reserved_keyword

referenced by:


targets_roles:

ROLE name_list targets

referenced by:


partition:

PARTITION partition_name

referenced by:


single_set_clause:

column_name = a_expr

referenced by:


multiple_set_clause:

( insert_column_list ) = in_expr

referenced by:


table_ref:

relation_expr opt_index_flags LATERAL select_with_parens func_table [ row_source_extension_stmt ] opt_ordinality opt_alias_clause joined_table ( joined_table ) opt_ordinality alias_clause

referenced by:


cockroachdb_extra_reserved_keyword:

INDEX NOTHING

referenced by:


type_func_name_keyword:

COLLATION CROSS FULL INNER ILIKE IS ISNULL JOIN LEFT LIKE NATURAL NONE NOTNULL OUTER OVERLAPS RIGHT SIMILAR FAMILY

referenced by:


reserved_keyword:

ALL ANALYSE ANALYZE AND ANY ARRAY AS ASC ASYMMETRIC BOTH CASE CAST CHECK COLLATE COLUMN CONCURRENTLY CONSTRAINT CREATE CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER DEFAULT DEFERRABLE DESC DISTINCT DO ELSE END EXCEPT FALSE FETCH FOR FOREIGN FROM GRANT GROUP HAVING IN INITIALLY INTERSECT INTO LATERAL LEADING LIMIT LOCALTIME LOCALTIMESTAMP NOT NULL OFFSET ON ONLY OR ORDER PLACING PRIMARY REFERENCES RETURNING SELECT SESSION_USER SOME SYMMETRIC TABLE THEN TO TRAILING TRUE UNION UNIQUE USER USING VARIADIC WHEN WHERE WINDOW WITH cockroachdb_extra_reserved_keyword

referenced by:


transaction_user_priority:

PRIORITY user_priority

referenced by:


transaction_read_mode:

READ ONLY WRITE

referenced by:


alter_table_cmds:

alter_table_cmd ,

referenced by:


set_zone_config:

CONFIGURE ZONE USING var_set_list DISCARD

referenced by:


alter_index_cmds:

alter_index_cmd ,

referenced by:


sequence_option_list:

sequence_option_elem

referenced by:


role_option:

CREATEROLE NOCREATEROLE LOGIN NOLOGIN password_clause valid_until_clause

referenced by:


single_table_pattern_list:

table_name ,

referenced by:


opt_equal:

=

referenced by:


opt_name:

name

referenced by:


index_elem:

a_expr opt_asc_desc opt_nulls_order

referenced by:


storing:

COVERING STORING INCLUDE

referenced by:


partition_by:

PARTITION BY LIST ( name_list ) ( list_partitions RANGE ( name_list ) ( range_partitions ) NOTHING

referenced by:


create_as_table_defs:

column_name create_as_col_qual_list , column_name create_as_col_qual_list family_def create_as_constraint_def

referenced by:


common_table_expr:

table_alias_name opt_column_list AS ( preparable_stmt )

referenced by:


index_flags_param_list:

index_flags_param ,

referenced by:


sortby:

a_expr opt_asc_desc opt_nulls_order PRIMARY KEY table_name INDEX table_name @ index_name opt_asc_desc

referenced by:


only_signed_iconst:

+ - ICONST

referenced by:


only_signed_fconst:

+ - FCONST

referenced by:


target_name:

unrestricted_name

referenced by:


col_qual_list:

col_qualification

referenced by:


opt_family_name:

opt_name

referenced by:


constraint_name:

name

referenced by:


constraint_elem:

CHECK ( a_expr ) UNIQUE ( index_params ) opt_storing opt_interleave opt_partition_by PRIMARY KEY ( index_params ) opt_hash_sharded opt_interleave FOREIGN KEY ( name_list ) REFERENCES table_name opt_column_list key_match reference_actions

referenced by:


const_typename:

numeric bit_without_length character_without_length const_datetime const_json BLOB BYTES BYTEA TEXT NAME SERIAL SERIAL2 SMALLSERIAL SERIAL4 SERIAL8 BIGSERIAL UUID INET OID OIDVECTOR INT2VECTOR identifier

referenced by:


interval_value:

INTERVAL SCONST opt_interval_qualifier ( ICONST ) SCONST

referenced by:


column_path_with_star:

column_path db_object_name_component . unrestricted_name . unrestricted_name . *

referenced by:


func_expr:

func_application filter_clause over_clause func_expr_common_subexpr

referenced by:


labeled_row:

row ( row AS name_list )

referenced by:


row:

ROW ( opt_expr_list ) expr_tuple_unambiguous

referenced by:


array_expr:

[ opt_expr_list array_expr_list ]

referenced by:


array_subscript:

[ a_expr opt_slice_bound : opt_slice_bound ]

referenced by:


case_arg:

a_expr

referenced by:


when_clause_list:

when_clause

referenced by:


case_default:

ELSE a_expr

referenced by:


bit_with_length:

BIT opt_varying VARBIT ( ICONST )

referenced by:


character_with_length:

character_base ( ICONST )

referenced by:


interval_type:

INTERVAL interval_qualifier ( ICONST )

referenced by:


postgres_oid:

REGPROC REGPROCEDURE REGCLASS REGTYPE REGNAMESPACE

referenced by:


tuple1_ambiguous_values:

a_expr , expr_list

referenced by:


scrub_option:

INDEX CONSTRAINT ALL ( name_list ) PHYSICAL

referenced by:


opt_all_clause:

ALL

referenced by:


from_clause:

FROM from_list opt_as_of_clause

referenced by:


group_clause:

GROUP BY expr_list

referenced by:


having_clause:

HAVING a_expr

referenced by:


window_clause:

WINDOW window_definition_list

referenced by:


distinct_on_clause:

DISTINCT ON ( expr_list )

referenced by:


all_or_distinct:

ALL DISTINCT

referenced by:


for_locking_item:

for_locking_strength opt_locked_rels opt_nowait_or_skip

referenced by:


var_list:

var_value ,

referenced by:


opt_ordinality:

WITH ORDINALITY

referenced by:


opt_alias_clause:

alias_clause

referenced by:


joined_table:

( joined_table ) table_ref CROSS opt_join_hint NATURAL join_type opt_join_hint JOIN table_ref join_type opt_join_hint JOIN table_ref join_qual

referenced by:


alias_clause:

AS table_alias_name opt_column_list

referenced by:


func_table:

func_expr_windowless ROWS FROM ( rowsfrom_list )

referenced by:


row_source_extension_stmt:

delete_stmt explain_stmt insert_stmt select_stmt show_stmt update_stmt upsert_stmt

referenced by:


user_priority:

LOW NORMAL HIGH

referenced by:


alter_table_cmd:

RENAME opt_column CONSTRAINT column_name TO column_name ADD COLUMN IF NOT EXISTS column_def table_constraint opt_validate_behavior ALTER opt_column column_name alter_column_default DROP NOT NULL STORED SET NOT NULL opt_set_data TYPE typename opt_collate opt_alter_column_using PRIMARY KEY USING COLUMNS ( index_params ) opt_hash_sharded opt_interleave DROP opt_column IF EXISTS column_name CONSTRAINT IF EXISTS constraint_name opt_drop_behavior VALIDATE CONSTRAINT constraint_name EXPERIMENTAL_AUDIT SET audit_mode partition_by

referenced by:


var_set_list:

var_name = COPY FROM PARENT var_value , var_name = var_value COPY FROM PARENT

referenced by:


alter_index_cmd:

partition_by

referenced by:


sequence_option_elem:

NO CYCLE MINVALUE MAXVALUE OWNED BY NONE column_path INCREMENT BY MINVALUE MAXVALUE START WITH signed_iconst64 VIRTUAL

referenced by:


password_clause:

PASSWORD string_or_placeholder NULL

referenced by:


valid_until_clause:

VALID UNTIL string_or_placeholder NULL

referenced by:


opt_asc_desc:

ASC DESC

referenced by:


opt_nulls_order:

NULLS FIRST LAST

referenced by:


list_partitions:

list_partition ,

referenced by:


range_partitions:

range_partition ,

referenced by:


create_as_col_qual_list:

create_as_col_qualification

referenced by:


create_as_constraint_def:

create_as_constraint_elem

referenced by:


index_flags_param:

FORCE_INDEX = index_name NO_INDEX_JOIN

referenced by:


col_qualification:

CONSTRAINT constraint_name col_qualification_elem COLLATE collation_name FAMILY family_name CREATE FAMILY family_name IF NOT EXISTS FAMILY family_name

referenced by:


key_match:

MATCH SIMPLE FULL

referenced by:


reference_actions:

reference_on_update reference_on_delete reference_on_delete reference_on_update

referenced by:


numeric:

INT INTEGER INT2 SMALLINT INT4 INT8 INT64 BIGINT REAL FLOAT4 FLOAT8 FLOAT opt_float DOUBLE PRECISION DECIMAL DEC NUMERIC opt_numeric_modifiers BOOLEAN BOOL

referenced by:


bit_without_length:

BIT VARYING VARBIT

referenced by:


character_without_length:

character_base

referenced by:


const_datetime:

DATE TIME TIMESTAMP ( ICONST ) opt_timezone TIMETZ TIMESTAMPTZ ( ICONST )

referenced by:


const_json:

JSON JSONB

referenced by:


opt_interval_qualifier:

interval_qualifier

referenced by:


func_application:

func_name ( ALL expr_list opt_sort_clause DISTINCT expr_list * )

referenced by:


filter_clause:

FILTER ( WHERE a_expr )

referenced by:


over_clause:

OVER window_specification window_name

referenced by:


func_expr_common_subexpr:

COLLATION FOR ( IF ( a_expr , NULLIF IFNULL ( IFERROR ( a_expr , a_expr , ISERROR ( a_expr , a_expr CAST ( a_expr AS cast_target ANNOTATE_TYPE ( a_expr , typename COALESCE ( expr_list ) CURRENT_DATE CURRENT_SCHEMA CURRENT_CATALOG CURRENT_TIMESTAMP CURRENT_TIME LOCALTIMESTAMP LOCALTIME CURRENT_USER CURRENT_ROLE SESSION_USER USER special_function

referenced by:


opt_expr_list:

expr_list

referenced by:


expr_tuple_unambiguous:

( tuple1_unambiguous_values )

referenced by:


array_expr_list:

array_expr ,

referenced by:


opt_slice_bound:

a_expr

referenced by:


when_clause:

WHEN a_expr THEN a_expr

referenced by:


opt_varying:

VARYING

referenced by:


character_base:

char_aliases VARYING VARCHAR STRING

referenced by:


interval_qualifier:

YEAR TO MONTH MONTH DAY TO HOUR MINUTE interval_second HOUR TO MINUTE interval_second MINUTE TO interval_second interval_second

referenced by:


window_definition_list:

window_definition ,

referenced by:


for_locking_strength:

FOR NO KEY UPDATE KEY SHARE

referenced by:


opt_locked_rels:

OF table_name_list

referenced by:


opt_nowait_or_skip:

SKIP LOCKED NOWAIT

referenced by:


opt_join_hint:

HASH MERGE LOOKUP

referenced by:


join_type:

FULL LEFT RIGHT join_outer INNER

referenced by:


join_qual:

USING ( name_list ) ON a_expr

referenced by:


func_expr_windowless:

func_application func_expr_common_subexpr

referenced by:


rowsfrom_list:

rowsfrom_item ,

referenced by:


opt_column:

COLUMN

referenced by:


alter_column_default:

SET DEFAULT a_expr DROP DEFAULT

referenced by:


opt_set_data:

SET DATA

referenced by:


opt_collate:

COLLATE collation_name

referenced by:


opt_alter_column_using:

USING a_expr

referenced by:


opt_validate_behavior:

NOT VALID

referenced by:


audit_mode:

READ WRITE OFF

referenced by:


signed_iconst64:

signed_iconst

referenced by:


list_partition:

partition VALUES IN ( expr_list ) opt_partition_by

referenced by:


range_partition:

partition VALUES FROM ( expr_list ) TO ( expr_list ) opt_partition_by

referenced by:


create_as_col_qualification:

create_as_col_qualification_elem FAMILY family_name

referenced by:


create_as_constraint_elem:

PRIMARY KEY ( create_as_params )

referenced by:


col_qualification_elem:

NOT NULL UNIQUE PRIMARY KEY USING HASH WITH BUCKET_COUNT = a_expr CHECK ( a_expr ) DEFAULT b_expr REFERENCES table_name opt_name_parens key_match reference_actions AS ( a_expr ) STORED

referenced by:


family_name:

name

referenced by:


reference_on_update:

ON UPDATE reference_action

referenced by:


reference_on_delete:

ON DELETE reference_action

referenced by:


opt_float:

( ICONST )

referenced by:


opt_numeric_modifiers:

( ICONST , ICONST )

referenced by:


opt_timezone:

WITH WITHOUT TIME ZONE

referenced by:


func_name:

type_function_name prefixed_column_path

referenced by:


window_specification:

( opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause )

referenced by:


window_name:

name

referenced by:


special_function:

CURRENT_DATE CURRENT_SCHEMA CURRENT_USER ( EXTRACT EXTRACT_DURATION ( extract_list OVERLAY ( overlay_list POSITION ( position_list SUBSTRING ( substr_list GREATEST LEAST ( expr_list CURRENT_TIMESTAMP CURRENT_TIME LOCALTIMESTAMP LOCALTIME ( a_expr TRIM ( BOTH LEADING TRAILING trim_list )

referenced by:


tuple1_unambiguous_values:

a_expr , expr_list

referenced by:


char_aliases:

CHAR CHARACTER

referenced by:


interval_second:

SECOND ( ICONST )

referenced by:


window_definition:

window_name AS window_specification

referenced by:


join_outer:

OUTER

referenced by:


rowsfrom_item:

func_expr_windowless

referenced by:


signed_iconst:

ICONST only_signed_iconst

referenced by:


create_as_col_qualification_elem:

PRIMARY KEY

referenced by:


create_as_params:

create_as_param ,

referenced by:


opt_name_parens:

( name )

referenced by:


reference_action:

NO ACTION RESTRICT CASCADE SET NULL DEFAULT

referenced by:


type_function_name:

identifier unreserved_keyword type_func_name_keyword

referenced by:


opt_existing_window_name:

name

referenced by:


opt_partition_clause:

PARTITION BY expr_list

referenced by:


opt_frame_clause:

RANGE ROWS GROUPS frame_extent opt_frame_exclusion

referenced by:


extract_list:

extract_arg FROM a_expr expr_list

referenced by:


overlay_list:

a_expr overlay_placing substr_from substr_for expr_list

referenced by:


position_list:

b_expr IN b_expr

referenced by:


substr_list:

a_expr substr_from substr_for substr_for substr_from opt_expr_list

referenced by:


trim_list:

a_expr FROM expr_list

referenced by:


create_as_param:

column_name

referenced by:


frame_extent:

BETWEEN frame_bound AND frame_bound

referenced by:


opt_frame_exclusion:

EXCLUDE CURRENT ROW GROUP TIES NO OTHERS

referenced by:


extract_arg:

identifier YEAR MONTH DAY HOUR MINUTE SECOND SCONST

referenced by:


overlay_placing:

PLACING a_expr

referenced by:


substr_from:

FROM a_expr

referenced by:


substr_for:

FOR a_expr

referenced by:


frame_bound:

UNBOUNDED a_expr PRECEDING FOLLOWING CURRENT ROW

referenced by:


generated by Railroad Diagram Generator


Yes No
On this page

Yes No