More interesting than the full list of reserved words is the empirical list of words that are rejected as non-delimited table or column name by at least one tested system. Words that are actually reserved words in SQL are set in bold.
Note that you can still use these words as identifiers by putting them under double quotes (").
In the following chart a check mark (✓) means that the word is accepted as unquoted table or column name.
BigQuery BigQuery 2025-11-03 Not as table name cNot as table name cDb2 (LUW) Db2 (LUW) 12.1.2 Not as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot for column renaming without AS clause aNot as column name dNot for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aDuckDB DuckDB 1.4.0 Not for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aH2 H2 2.4.240 Not for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bMariaDB MariaDB 12.1.2 Not as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot for column renaming without AS clause aNot as expression bNot as expression bNot as expression bNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cNot as table name cMySQL MySQL 9.5.0 Not for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot as expression bOracle DB Oracle DB 23.26.0 Not for column renaming without AS clause aPostgreSQL PostgreSQL 18 Not for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aSQL Server SQL Server 2025 SQLite SQLite 3.51.0 Not as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot as table name cNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot for column renaming without AS clause aNot as expression bNot for column renaming without AS clause aNot for column renaming without AS clause aABORT ABSOLUTE ACCESS ACCESSIBLE ACTION ADD ADMIN AFTER AGGREGATE ALL ALSO ALTER ALWAYS ANALYSE ANALYZE AND ANY ARRAY AS ASC ASENSITIVE ASSERTION ASSIGNMENT ASYMMETRIC AT ATTACH ATTRIBUTE AUDIT AUTHORIZATION AUTOINCREMENT BACKUP BACKWARD BEFORE BEGIN BETWEEN BIGINT BINARY BIT BLOB BOOLEAN BOTH BREAK BROWSE BULK BY CACHE CALL CALLED CASCADE CASCADED CASE CAST CATALOG CHAIN CHANGE CHAR CHARACTER CHARACTERISTICS CHECK CHECKPOINT CLASS CLOSE CLUSTER CLUSTERED COALESCE COLLATE COLLATION COLUMN COLUMNS COMMENT COMMENTS COMMIT COMMITTED COMPRESS COMPRESSION COMPUTE CONCAT CONCURRENTLY CONDITION CONFIGURATION CONFLICT CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONTAINS CONTAINSTABLE CONTENT CONTINUE CONVERSION CONVERT COPY COST COUNT CREATE CROSS CSV CUBE CUME_DIST CURRENT CURRENT_CATALOG CURRENT_DATE CURRENT_PATH CURRENT_ROLE CURRENT_SCHEMA CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE DATA DATABASE DATABASES DATE DAY DAYS DAY_HOUR DAY_MICROSECOND DAY_MINUTE DAY_SECOND DBCC DEALLOCATE DEC DECIMAL DECLARE DEFAULT DEFAULTS DEFERRABLE DEFERRED DEFINE DEFINER DELAYED DELETE DELIMITER DELIMITERS DENSE_RANK DENY DEPENDS DESC DESCRIBE DETACH DETERMINISTIC DICTIONARY DISABLE DISCARD DISTINCT DISTINCTROW DISTRIBUTED DIV DO DOCUMENT DOMAIN DOUBLE DROP DUAL EACH ELSE ELSEIF EMPTY ENABLE ENCLOSED ENCODING ENCRYPTED END END-EXEC ENUM ERRLVL ERROR ESCAPE ESCAPED EVENT EXCEPT EXCLUDE EXCLUDING EXCLUSIVE EXEC EXECUTE EXISTS EXIT EXPLAIN EXPORT EXTENSION EXTERNAL EXTRACT FALSE FAMILY FETCH FILE FILLFACTOR FILTER FIRST FIRST_VALUE FLOAT FLOAT4 FLOAT8 FOLLOWING FOR FORCE FOREIGN FORWARD FREETEXT FREETEXTTABLE FREEZE FROM FULL FULLTEXT FUNCTION FUNCTIONS GENERATED GET GLOB GLOBAL GOTO GRANT GRANTED GROUP GROUPING GROUPS HANDLER HASH HAVING HEADER HIGH_PRIORITY HOLD HOLDLOCK HOUR HOURS HOUR_MICROSECOND HOUR_MINUTE HOUR_SECOND IDENTIFIED IDENTITY IDENTITYCOL IDENTITY_INSERT IF IGNORE ILIKE IMMEDIATE IMMUTABLE IMPLICIT IMPORT IN INCLUDE INCLUDING INCREMENT INDEX INDEXED INDEXES INFILE INHERIT INHERITS INITIAL INITIALLY INLINE INNER INOUT INPUT INSENSITIVE INSERT INSTALL INSTEAD INT INT1 INT2 INT3 INT4 INT8 INTEGER INTERSECT INTERVAL INTO INVOKER IO_AFTER_GTIDS IO_BEFORE_GTIDS IS ISNULL ISOLATION ITERATE JOIN JSON JSON_ARRAYAGG JSON_OBJECTAGG JSON_TABLE KEY KEYS KILL LABEL LAG LANGUAGE LARGE LAST LAST_VALUE LATERAL LEAD LEADING LEAKPROOF LEAVE LEFT LEVEL LIBRARY LIKE LIMIT LINEAR LINENO LINES LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION LOCK LOCKED LOGGED LONG LONGBLOB LONGTEXT LOOP LOW_PRIORITY MAP MAPPING MASTER_SSL_VERIFY_SERVER_CERT MATCH MATCHED MATCH_RECOGNIZE MATERIALIZED MAX MAXEXTENTS MAXVALUE MEDIUMBLOB MEDIUMINT MEDIUMTEXT MEMBER MERGE METHOD MICROSECOND MICROSECONDS MIDDLEINT MIN MINUS MINUTE MINUTES MINUTE_MICROSECOND MINUTE_SECOND MINVALUE MLSLABEL MOD MODE MODIFIES MODIFY MONTH MONTHS MOVE NAME NAMES NATIONAL NATURAL NCHAR NEW NEXT NO NOAUDIT NOCHECK NOCOMPRESS NONCLUSTERED NONE NOT NOTHING NOTIFY NOTNULL NOWAIT NO_WRITE_TO_BINLOG NTH_VALUE NTILE NULL NULLIF NULLS NUMBER NUMERIC OBJECT OF OFF OFFLINE OFFSET OFFSETS OIDS OLD ON ONLINE ONLY OPEN OPENDATASOURCE OPENQUERY OPENROWSET OPENXML OPERATOR OPTIMIZE OPTIMIZER_COSTS OPTION OPTIONALLY OPTIONS OR ORDER ORDINALITY OTHERS OUT OUTER OUTFILE OVER OVERLAPS OVERLAY OVERRIDING OWNED OWNER PARALLEL PARSER PARTIAL PARTITION PARTITIONED PASSING PASSWORD PCTFREE PERCENT PERCENTILE_CONT PERCENTILE_DISC PERCENT_RANK PIVOT PLACING PLAN PLANS POLICY PORTION POSITION PRAGMA PRECEDING PRECISION PREPARE PREPARED PRESERVE PRIMARY PRINT PRIOR PRIVILEGES PROC PROCEDURAL PROCEDURE PROGRAM PUBLIC PUBLICATION PURGE QUARTER QUOTE RAISE RAISERROR RANGE RANK RAW READ READS READTEXT READ_WRITE REAL REASSIGN RECHECK RECONFIGURE RECURSIVE REF REFERENCES REFERENCING REFRESH REGEXP REINDEX RELATIVE RELEASE RENAME REPEAT REPEATABLE REPLACE REPLICA REPLICATION REQUIRE RESET RESIGNAL RESOURCE RESPECT RESTART RESTORE RESTRICT RETURN RETURNING RETURNS REVERT REVOKE RIGHT RLIKE ROLE ROLLBACK ROLLUP ROW ROWCOUNT ROWGUIDCOL ROWID ROWNUM ROWS ROW_NUMBER RULE SAVE SAVEPOINT SCHEMA SCHEMAS SCOPE SCROLL SEARCH SECOND SECONDS SECOND_MICROSECOND SECURITY SELECT SEMANTICKEYPHRASETABLE SEMANTICSIMILARITYDETAILSTABLE SEMANTICSIMILARITYTABLE SENSITIVE SEPARATOR SEQUENCE SEQUENCES SERIALIZABLE SERVER SESSION SESSION_USER SET SETOF SETS SETUSER SHARE SHOW SHUTDOWN SIGNAL SIMILAR SIMPLE SIZE SKIP SMALLINT SNAPSHOT SOME SOUNDS SOURCE SPATIAL SPECIFIC SQL SQLEXCEPTION SQLSTATE SQLWARNING SQL_AFTER_GTIDS SQL_BEFORE_GTIDS SQL_BIG_RESULT SQL_BUFFER_RESULT SQL_CACHE SQL_CALC_FOUND_ROWS SQL_NO_CACHE SQL_SMALL_RESULT SSL STABLE STANDALONE START STARTING STATEMENT STATISTICS STATS_AUTO_RECALC STATS_PERSISTENT STATS_SAMPLE_PAGES STDDEV_POP STDDEV_SAMP STDIN STDOUT STORAGE STORED STRAIGHT_JOIN STRICT STRIP SUBSCRIPTION SUBSTRING SUCCESSFUL SUM SYMMETRIC SYNONYM SYSDATE SYSID SYSTEM SYSTEM_USER TABLE TABLES TABLESAMPLE TABLESPACE TEMP TEMPLATE TEMPORARY TERMINATED TEXT TEXTSIZE THEN TIES TIME TIMESTAMP TINYBLOB TINYINT TINYTEXT TO TOP TRAILING TRAN TRANSACTION TRANSFORM TREAT TRIGGER TRIM TRUE TRUNCATE TRUSTED TRY_CONVERT TSEQUAL TYPE TYPES UESCAPE UID UNBOUNDED UNCOMMITTED UNDO UNENCRYPTED UNION UNIQUE UNKNOWN UNLISTEN UNLOCK UNLOGGED UNNEST UNPIVOT UNSIGNED UNTIL UPDATE UPDATETEXT USAGE USE USER USING UTC_DATE UTC_TIME UTC_TIMESTAMP VACUUM VALID VALIDATE VALIDATOR VALUE VALUES VARBINARY VARCHAR VARCHAR2 VARCHARACTER VARIABLE VARIADIC VARYING VAR_POP VAR_SAMP VERBOSE VERSION VIEW VIEWS VIRTUAL VOLATILE WAITFOR WEEK WHEN WHENEVER WHERE WHILE WHITESPACE WINDOW WITH WITHIN WITHOUT WORK WRAPPER WRITE WRITETEXT XML XMLATTRIBUTES XMLCONCAT XMLELEMENT XMLEXISTS XMLFOREST XMLNAMESPACES XMLPARSE XMLPI XMLROOT XMLSERIALIZE XMLTABLE XOR YEAR YEARS YEAR_MONTH YES ZEROFILL ZONE You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail , Bluesky or RSS to gradually catch up and to keep modern-sql.com on your radar.
About the Author Markus Winand provides insights into SQL and shows how different systems support it at modern-sql.com . Previously he made use-the-index-luke.com , which is still actively maintained. Markus can be hired as trainer, speaker and consultant via winand.at .