附录 C. SQL关键字

表 C-1列出了所由在 SQL 标准和PostgreSQL 里是关键字的记号。你可以在第 4.1.1 节里找到相关的背景信息。 (由于空间原因,只包括SQL标准的最后两个版本和为了历史兼容的SQL-92。 这些和其他中间标准版本的差异很小。)

SQL 里有保留字非保留字之分。根据标准, 保留字是那些真正的关键字;决不能用它们做标识符。非保留字只是在特定的环境里有特殊的含义, 而在其它环境里是可以用做标识符的。大多数非保留字实际上都是 SQL 声明的内建表和函数的名字。 而非保留字的概念实质上只是用来表示在某些场合里,在一个字上附加了一些预先定义的含义。

PostgreSQL里,分析器的工作有些复杂。因为存在好几种不同范畴的记号, 从那些永远不可能用做标识符的到那些和普通标识符比较起来在分析器里完全没有任何特殊状态的 (后者通常都是 SQL 声明的函数)。即使保留关键字在PostgreSQL 里都没有完全保留,而是可以用做字段标签。比如,虽然CHECK是保留关键字, 但是SELECT 55 AS CHECK语句完全行得通。

表 C-1PostgreSQL字段里, 我们把那些分析器明确知道,但是允许作为字段或表名的关键字分类为"非保留"。 虽然一些关键字是非保留的,但是却不能用做函数或者数据类型名字,我们对这些关键字相应做了的标记。 大多数这类记号代表有特殊语法的内置函数或者数据类型。仍然可以使用这些函数或者类型, 但是用户不能重新定义它们。标记为"保留"的都是那些不允许作为字段或表名的。 有些保留关键字还可以用做函数或数据类型的名字;这点在表中也显示出来了。 如果没有那样标记,那么只允许出现在"AS"字段标签名里面。

一条通用的规则是:如果你看到任何古怪的分析错,说命令包含任何这里列出的关键字做标识符, 那么你可以先试试用双引号把那个标识符括起来,看看问题是否消失。

在开始学习表 C-1之前还要理解的一件重要的事情是: 一个关键字在PostgreSQL 中没有保留并不意味着与该关键字相关的特性没有实现。同样, 关键字的存在也并不表明某个特性就一定存在。

表 C-1. SQL 关键字

关键字PostgreSQLSQL:2011SQL:2008SQL-92
A 非保留非保留 
ABORT非保留   
ABS 保留保留 
ABSENT 非保留非保留 
ABSOLUTE非保留非保留非保留保留
ACCESS非保留   
ACCORDING 非保留非保留 
ACTION非保留非保留非保留保留
ADA 非保留非保留非保留
ADD非保留非保留非保留保留
ADMIN非保留非保留非保留 
AFTER非保留非保留非保留 
AGGREGATE非保留   
ALL保留保留保留保留
ALLOCATE 保留保留保留
ALSO非保留   
ALTER非保留保留保留保留
ALWAYS非保留非保留非保留 
ANALYSE保留   
ANALYZE保留   
AND保留保留保留保留
ANY保留保留保留保留
ARE 保留保留保留
ARRAY保留保留保留 
ARRAY_AGG 保留保留 
ARRAY_MAX_CARDINALITY 保留  
AS保留保留保留保留
ASC保留非保留非保留保留
ASENSITIVE 保留保留 
ASSERTION非保留非保留非保留保留
ASSIGNMENT非保留非保留非保留 
ASYMMETRIC保留保留保留 
AT非保留保留保留保留
ATOMIC 保留保留 
ATTRIBUTE非保留非保留非保留 
ATTRIBUTES 保留保留 
AUTHORIZATION保留(可以是函数或类型)保留保留保留
AVG 保留保留保留
BACKWARD非保留   
BASE64 非保留非保留 
BEFORE非保留非保留非保留 
BEGIN非保留保留保留保留
BEGIN_FRAME 保留  
BEGIN_PARTITION 保留  
BERNOULLI 非保留非保留 
BETWEEN非保留(不能是函数或类型)保留保留保留
BIGINT非保留(不能是函数或类型)保留保留 
BINARY保留(可以是函数或类型)保留保留 
BIT非保留(不能是函数或类型)  保留
BIT_LENGTH   保留
BLOB 保留保留 
BLOCKED 非保留非保留 
BOM 非保留非保留 
BOOLEAN非保留(不能是函数或类型)保留保留 
BOTH保留保留保留保留
BREADTH 非保留非保留 
BY非保留保留保留保留
C 非保留非保留非保留
CACHE非保留   
CALL 保留保留 
CALLED非保留保留保留 
CARDINALITY 保留保留 
CASCADE非保留非保留非保留保留
CASCADED非保留保留保留保留
CASE保留保留保留保留
CAST保留保留保留保留
CATALOG非保留非保留非保留保留
CATALOG_NAME 非保留非保留非保留
CEIL 保留保留 
CEILING 保留保留 
CHAIN非保留非保留非保留 
CHAR非保留(不能是函数或类型)保留保留保留
CHARACTER非保留(不能是函数或类型)保留保留保留
CHARACTERISTICS非保留非保留非保留 
CHARACTERS 非保留非保留 
CHARACTER_LENGTH 保留保留保留
CHARACTER_SET_CATALOG 非保留非保留非保留
CHARACTER_SET_NAME 非保留非保留非保留
CHARACTER_SET_SCHEMA 非保留非保留非保留
CHAR_LENGTH 保留保留保留
CHECK保留保留保留保留
CHECKPOINT非保留   
CLASS非保留   
CLASS_ORIGIN 非保留非保留非保留
CLOB 保留保留 
CLOSE非保留保留保留保留
CLUSTER非保留   
COALESCE非保留(不能是函数或类型)保留保留保留
COBOL 非保留非保留非保留
COLLATE保留保留保留保留
COLLATION保留(可以是函数或类型)非保留非保留保留
COLLATION_CATALOG 非保留非保留非保留
COLLATION_NAME 非保留非保留非保留
COLLATION_SCHEMA 非保留非保留非保留
COLLECT 保留保留 
COLUMN保留保留保留保留
COLUMNS 非保留非保留 
COLUMN_NAME 非保留非保留非保留
COMMAND_FUNCTION 非保留非保留非保留
COMMAND_FUNCTION_CODE 非保留非保留 
COMMENT非保留   
COMMENTS非保留   
COMMIT非保留保留保留保留
COMMITTED非保留非保留非保留非保留
CONCURRENTLY保留(可以是函数或类型)   
CONDITION 保留保留 
CONDITION_NUMBER 非保留非保留非保留
CONFIGURATION非保留   
CONNECT 保留保留保留
CONNECTION非保留非保留非保留保留
CONNECTION_NAME 非保留非保留非保留
CONSTRAINT保留保留保留保留
CONSTRAINTS非保留非保留非保留保留
CONSTRAINT_CATALOG 非保留非保留非保留
CONSTRAINT_NAME 非保留非保留非保留
CONSTRAINT_SCHEMA 非保留非保留非保留
CONSTRUCTOR 非保留非保留 
CONTAINS 保留非保留 
CONTENT非保留非保留非保留 
CONTINUE非保留非保留非保留保留
CONTROL 非保留非保留 
CONVERSION非保留   
CONVERT 保留保留保留
COPY非保留   
CORR 保留保留 
CORRESPONDING 保留保留保留
COST非保留   
COUNT 保留保留保留
COVAR_POP 保留保留 
COVAR_SAMP 保留保留 
CREATE保留保留保留保留
CROSS保留(可以是函数或类型)保留保留保留
CSV非保留   
CUBE 保留保留 
CUME_DIST 保留保留 
CURRENT非保留保留保留保留
CURRENT_CATALOG保留保留保留 
CURRENT_DATE保留保留保留保留
CURRENT_DEFAULT_TRANSFORM_GROUP 保留保留 
CURRENT_PATH 保留保留 
CURRENT_ROLE保留保留保留 
CURRENT_ROW 保留  
CURRENT_SCHEMA保留(可以是函数或类型)保留保留 
CURRENT_TIME保留保留保留保留
CURRENT_TIMESTAMP保留保留保留保留
CURRENT_TRANSFORM_GROUP_FOR_TYPE 保留保留 
CURRENT_USER保留保留保留保留
CURSOR非保留保留保留保留
CURSOR_NAME 非保留非保留非保留
CYCLE非保留保留保留 
DATA非保留非保留非保留非保留
DATABASE非保留   
DATALINK 保留保留 
DATE 保留保留保留
DATETIME_INTERVAL_CODE 非保留非保留非保留
DATETIME_INTERVAL_PRECISION 非保留非保留非保留
DAY非保留保留保留保留
DB 非保留非保留 
DEALLOCATE非保留保留保留保留
DEC非保留(不能是函数或类型)保留保留保留
DECIMAL非保留(不能是函数或类型)保留保留保留
DECLARE非保留保留保留保留
DEFAULT保留保留保留保留
DEFAULTS非保留非保留非保留 
DEFERRABLE保留非保留非保留保留
DEFERRED非保留非保留非保留保留
DEFINED 非保留非保留 
DEFINER非保留非保留非保留 
DEGREE 非保留非保留 
DELETE非保留保留保留保留
DELIMITER非保留   
DELIMITERS非保留   
DENSE_RANK 保留保留 
DEPTH 非保留非保留 
DEREF 保留保留 
DERIVED 非保留非保留 
DESC保留非保留非保留保留
DESCRIBE 保留保留保留
DESCRIPTOR 非保留非保留保留
DETERMINISTIC 保留保留 
DIAGNOSTICS 非保留非保留保留
DICTIONARY非保留   
DISABLE非保留   
DISCARD非保留   
DISCONNECT 保留保留保留
DISPATCH 非保留非保留 
DISTINCT保留保留保留保留
DLNEWCOPY 保留保留 
DLPREVIOUSCOPY 保留保留 
DLURLCOMPLETE 保留保留 
DLURLCOMPLETEONLY 保留保留 
DLURLCOMPLETEWRITE 保留保留 
DLURLPATH 保留保留 
DLURLPATHONLY 保留保留 
DLURLPATHWRITE 保留保留 
DLURLSCHEME 保留保留 
DLURLSERVER 保留保留 
DLVALUE 保留保留 
DO保留   
DOCUMENT非保留非保留非保留 
DOMAIN非保留非保留非保留保留
DOUBLE非保留保留保留保留
DROP非保留保留保留保留
DYNAMIC 保留保留 
DYNAMIC_FUNCTION 非保留非保留非保留
DYNAMIC_FUNCTION_CODE 非保留非保留 
EACH非保留保留保留 
ELEMENT 保留保留 
ELSE保留保留保留保留
EMPTY 非保留非保留 
ENABLE非保留   
ENCODING非保留非保留非保留 
ENCRYPTED非保留   
END保留保留保留保留
END-EXEC 保留保留保留
END_FRAME 保留  
END_PARTITION 保留  
ENFORCED 非保留  
ENUM非保留   
EQUALS 保留非保留 
ESCAPE非保留保留保留保留
EVENT非保留   
EVERY 保留保留 
EXCEPT保留保留保留保留
EXCEPTION   保留
EXCLUDE非保留非保留非保留 
EXCLUDING非保留非保留非保留 
EXCLUSIVE非保留   
EXEC 保留保留保留
EXECUTE非保留保留保留保留
EXISTS非保留(不能是函数或类型)保留保留保留
EXP 非保留非保留 
EXPLAIN非保留   
EXPRESSION 非保留  
EXTENSION非保留   
EXTERNAL非保留保留保留保留
EXTRACT非保留(不能是函数或类型)保留保留保留
FALSE保留保留保留保留
FAMILY非保留   
FETCH保留保留保留保留
FILE 非保留非保留 
FILTER 保留保留 
FINAL 非保留非保留 
FIRST非保留非保留非保留保留
FIRST_VALUE 保留保留 
FLAG 非保留非保留 
FLOAT非保留(不能是函数或类型)保留保留保留
FLOOR 保留保留 
FOLLOWING非保留非保留非保留 
FOR保留保留保留保留
FORCE非保留   
FOREIGN保留保留保留保留
FORTRAN 非保留非保留非保留
FORWARD非保留   
FOUND 非保留非保留保留
FRAME_ROW 保留  
FREE 保留保留 
FREEZE保留(可以是函数或类型)   
FROM保留保留保留保留
FS 非保留非保留 
FULL保留(可以是函数或类型)保留保留保留
FUNCTION非保留保留保留 
FUNCTIONS非保留   
FUSION 保留保留 
G 非保留非保留 
GENERAL 非保留非保留 
GENERATED 非保留非保留 
GET 保留保留保留
GLOBAL非保留保留保留保留
GO 非保留非保留保留
GOTO 非保留非保留保留
GRANT保留保留保留保留
GRANTED非保留非保留非保留 
GREATEST非保留(不能是函数或类型)   
GROUP保留保留保留保留
GROUPING 保留保留 
GROUPS 保留  
HANDLER非保留   
HAVING保留保留保留保留
HEADER非保留   
HEX 非保留非保留 
HIERARCHY 非保留非保留 
HOLD非保留保留保留 
HOUR非保留保留保留保留
ID 非保留非保留 
IDENTITY非保留保留保留保留
IF非保留   
IGNORE 非保留非保留 
ILIKE保留(可以是函数或类型)   
IMMEDIATE非保留非保留非保留保留
IMMEDIATELY 非保留  
IMMUTABLE非保留   
IMPLEMENTATION 非保留非保留 
IMPLICIT非保留   
IMPORT 保留保留 
IN保留保留保留保留
INCLUDING非保留非保留非保留 
INCREMENT非保留非保留非保留 
INDENT 非保留非保留 
INDEX非保留   
INDEXES非保留   
INDICATOR 保留保留保留
INHERIT非保留   
INHERITS非保留   
INITIALLY保留非保留非保留保留
INLINE非保留   
INNER保留(可以是函数或类型)保留保留保留
INOUT非保留(不能是函数或类型)保留保留 
INPUT非保留非保留非保留保留
INSENSITIVE非保留保留保留保留
INSERT非保留保留保留保留
INSTANCE 非保留非保留 
INSTANTIABLE 非保留非保留 
INSTEAD非保留非保留非保留 
INT非保留(不能是函数或类型)保留保留保留
INTEGER非保留(不能是函数或类型)保留保留保留
INTEGRITY 非保留非保留 
INTERSECT保留保留保留保留
INTERSECTION 保留保留 
INTERVAL非保留(不能是函数或类型)保留保留保留
INTO保留保留保留保留
INVOKER非保留非保留非保留 
IS保留(可以是函数或类型)保留保留保留
ISNULL保留(可以是函数或类型)   
ISOLATION非保留非保留非保留保留
JOIN保留(可以是函数或类型)保留保留保留
K 非保留非保留 
KEY非保留非保留非保留保留
KEY_MEMBER 非保留非保留 
KEY_TYPE 非保留非保留 
LABEL非保留   
LAG 保留保留 
LANGUAGE非保留保留保留保留
LARGE非保留保留保留 
LAST非保留非保留非保留保留
LAST_VALUE 保留保留 
LATERAL保留保留保留 
LC_COLLATE非保留   
LC_CTYPE非保留   
LEAD 保留保留 
LEADING保留保留保留保留
LEAKPROOF非保留   
LEAST非保留(不能是函数或类型)   
LEFT保留(不能是函数或类型)保留保留保留
LENGTH 非保留非保留非保留
LEVEL非保留非保留非保留保留
LIBRARY 非保留非保留 
LIKE保留(可以是函数或类型)保留保留保留
LIKE_REGEX 保留保留 
LIMIT保留非保留非保留 
LINK 非保留非保留 
LISTEN非保留   
LN 保留保留 
LOAD非保留   
LOCAL非保留保留保留保留
LOCALTIME保留保留保留 
LOCALTIMESTAMP保留保留保留 
LOCATION非保留非保留非保留 
LOCATOR 非保留非保留 
LOCK非保留   
LOWER 保留保留保留
M 非保留非保留 
MAP 非保留非保留 
MAPPING非保留非保留非保留 
MATCH非保留保留保留保留
MATCHED 非保留非保留 
MATERIALIZED非保留   
MAX 保留保留保留
MAXVALUE非保留非保留非保留 
MAX_CARDINALITY  保留 
MEMBER 保留保留 
MERGE 保留保留 
MESSAGE_LENGTH 非保留非保留非保留
MESSAGE_OCTET_LENGTH 非保留非保留非保留
MESSAGE_TEXT 非保留非保留非保留
METHOD 保留保留 
MIN 保留保留保留
MINUTE非保留保留保留保留
MINVALUE非保留非保留非保留 
MOD 保留保留 
MODE非保留   
MODIFIES 保留保留 
MODULE 保留保留保留
MONTH非保留保留保留保留
MORE 非保留非保留非保留
MOVE非保留   
MULTISET 保留保留 
MUMPS 非保留非保留非保留
NAME非保留非保留非保留非保留
NAMES非保留非保留非保留保留
NAMESPACE 非保留非保留 
NATIONAL非保留(不能是函数或类型)保留保留保留
NATURAL保留(可以是函数或类型)保留保留保留
NCHAR非保留(不能是函数或类型)保留保留保留
NCLOB 保留保留 
NESTING 非保留非保留 
NEW 保留保留 
NEXT非保留非保留非保留保留
NFC 非保留非保留 
NFD 非保留非保留 
NFKC 非保留非保留 
NFKD 非保留非保留 
NIL 非保留非保留 
NO非保留保留保留保留
NONE非保留(不能是函数或类型)保留保留 
NORMALIZE 保留保留 
NORMALIZED 非保留非保留 
NOT保留保留保留保留
NOTHING非保留   
NOTIFY非保留   
NOTNULL保留(可以是函数或类型)   
NOWAIT非保留   
NTH_VALUE 保留保留 
NTILE 保留保留 
NULL保留保留保留保留
NULLABLE 非保留非保留非保留
NULLIF非保留(不能是函数或类型)保留保留保留
NULLS非保留非保留非保留 
NUMBER 非保留非保留非保留
NUMERIC非保留(不能是函数或类型)保留保留保留
OBJECT非保留非保留非保留 
OCCURRENCES_REGEX 保留保留 
OCTETS 非保留非保留 
OCTET_LENGTH 保留保留保留
OF非保留保留保留保留
OFF非保留非保留非保留 
OFFSET保留保留保留 
OIDS非保留   
OLD 保留保留 
ON保留保留保留保留
ONLY保留保留保留保留
OPEN 保留保留保留
OPERATOR非保留   
OPTION非保留非保留非保留保留
OPTIONS非保留非保留非保留 
OR保留保留保留保留
ORDER保留保留保留保留
ORDERING 非保留非保留 
ORDINALITY 非保留非保留 
OTHERS 非保留非保留 
OUT非保留(不能是函数或类型)保留保留 
OUTER保留(可以是函数或类型)保留保留保留
OUTPUT 非保留非保留保留
OVER保留(可以是函数或类型)保留保留 
OVERLAPS保留(可以是函数或类型)保留保留保留
OVERLAY非保留(不能是函数或类型)保留保留 
OVERRIDING 非保留非保留 
OWNED非保留   
OWNER非保留   
P 非保留非保留 
PAD 非保留非保留保留
PARAMETER 保留保留 
PARAMETER_MODE 非保留非保留 
PARAMETER_NAME 非保留非保留 
PARAMETER_ORDINAL_POSITION 非保留非保留 
PARAMETER_SPECIFIC_CATALOG 非保留非保留 
PARAMETER_SPECIFIC_NAME 非保留非保留 
PARAMETER_SPECIFIC_SCHEMA 非保留非保留 
PARSER非保留   
PARTIAL非保留非保留非保留保留
PARTITION非保留保留保留 
PASCAL 非保留非保留非保留
PASSING非保留非保留非保留 
PASSTHROUGH 非保留非保留 
PASSWORD非保留   
PATH 非保留非保留 
PERCENT 保留  
PERCENTILE_CONT 保留保留 
PERCENTILE_DISC 保留保留 
PERCENT_RANK 保留保留 
PERIOD 保留  
PERMISSION 非保留非保留 
PLACING保留非保留非保留 
PLANS非保留   
PLI 非保留非保留非保留
PORTION 保留  
POSITION非保留(不能是函数或类型)保留保留保留
POSITION_REGEX 保留保留 
POWER 保留保留 
PRECEDES 保留  
PRECEDING非保留非保留非保留 
PRECISION非保留(不能是函数或类型)保留保留保留
PREPARE非保留保留保留保留
PREPARED非保留   
PRESERVE非保留非保留非保留保留
PRIMARY保留保留保留保留
PRIOR非保留非保留非保留保留
PRIVILEGES非保留非保留非保留保留
PROCEDURAL非保留   
PROCEDURE非保留保留保留保留
PROGRAM非保留   
PUBLIC 非保留非保留保留
QUOTE非保留   
RANGE非保留保留保留 
RANK 保留保留 
READ非保留非保留非保留保留
READS 保留保留 
REAL非保留(不能是函数或类型)保留保留保留
REASSIGN非保留   
RECHECK非保留   
RECOVERY 非保留非保留 
RECURSIVE非保留保留保留 
REF非保留保留保留 
REFERENCES保留保留保留保留
REFERENCING 保留保留 
REFRESH非保留   
REGR_AVGX 保留保留 
REGR_AVGY 保留保留 
REGR_COUNT 保留保留 
REGR_INTERCEPT 保留保留 
REGR_R2 保留保留 
REGR_SLOPE 保留保留 
REGR_SXX 保留保留 
REGR_SXY 保留保留 
REGR_SYY 保留保留 
REINDEX非保留   
RELATIVE非保留非保留非保留保留
RELEASE非保留保留保留 
RENAME非保留   
REPEATABLE非保留非保留非保留非保留
REPLACE非保留   
REPLICA非保留   
REQUIRING 非保留非保留 
RESET非保留   
RESPECT 非保留非保留 
RESTART非保留非保留非保留 
RESTORE 非保留非保留 
RESTRICT非保留非保留非保留保留
RESULT 保留保留 
RETURN 保留保留 
RETURNED_CARDINALITY 保留保留 
RETURNED_LENGTH 非保留非保留非保留
RETURNED_OCTET_LENGTH 非保留非保留非保留
RETURNED_SQLSTATE 非保留非保留非保留
RETURNING保留非保留非保留 
RETURNS非保留保留保留 
REVOKE非保留保留保留保留
RIGHT保留(可以是函数或类型)保留保留保留
ROLE非保留非保留非保留 
ROLLBACK非保留保留保留保留
ROLLUP 保留保留 
ROUTINE 非保留非保留 
ROUTINE_CATALOG 非保留非保留 
ROUTINE_NAME 非保留非保留 
ROUTINE_SCHEMA 非保留非保留 
ROW非保留(不能是函数或类型)保留保留 
ROWS非保留保留保留保留
ROW_COUNT 非保留非保留非保留
ROW_NUMBER 保留保留 
RULE非保留   
SAVEPOINT非保留保留保留 
SCALE 非保留非保留非保留
SCHEMA非保留非保留非保留保留
SCHEMA_NAME 非保留非保留非保留
SCOPE 保留保留 
SCOPE_CATALOG 非保留非保留 
SCOPE_NAME 非保留非保留 
SCOPE_SCHEMA 非保留非保留 
SCROLL非保留保留保留保留
SEARCH非保留保留保留 
SECOND非保留保留保留保留
SECTION 非保留非保留保留
SECURITY非保留非保留非保留 
SELECT保留保留保留保留
SELECTIVE 非保留非保留 
SELF 非保留非保留 
SENSITIVE 保留保留 
SEQUENCE非保留非保留非保留 
SEQUENCES非保留   
SERIALIZABLE非保留非保留非保留非保留
SERVER非保留非保留非保留 
SERVER_NAME 非保留非保留非保留
SESSION非保留非保留非保留保留
SESSION_USER保留保留保留保留
SET非保留保留保留保留
SETOF非保留(不能是函数或类型)   
SETS 非保留非保留 
SHARE非保留   
SHOW非保留   
SIMILAR保留(可以是函数或类型)保留保留 
SIMPLE非保留非保留非保留 
SIZE 非保留非保留保留
SMALLINT非保留(不能是函数或类型)保留保留保留
SNAPSHOT非保留   
SOME保留保留保留保留
SOURCE 非保留非保留 
SPACE 非保留非保留保留
SPECIFIC 保留保留 
SPECIFICTYPE 保留保留 
SPECIFIC_NAME 非保留非保留 
SQL 保留保留保留
SQLCODE   保留
SQLERROR   保留
SQLEXCEPTION 保留保留 
SQLSTATE 保留保留保留
SQLWARNING 保留保留 
SQRT 保留保留 
STABLE非保留   
STANDALONE非保留非保留非保留 
START非保留保留保留 
STATE 非保留非保留 
STATEMENT非保留非保留非保留 
STATIC 保留保留 
STATISTICS非保留   
STDDEV_POP 保留保留 
STDDEV_SAMP 保留保留 
STDIN非保留   
STDOUT非保留   
STORAGE非保留   
STRICT非保留   
STRIP非保留非保留非保留 
STRUCTURE 非保留非保留 
STYLE 非保留非保留 
SUBCLASS_ORIGIN 非保留非保留非保留
SUBMULTISET 保留保留 
SUBSTRING非保留(不能是函数或类型)保留保留保留
SUBSTRING_REGEX 保留保留 
SUCCEEDS 保留  
SUM 保留保留保留
SYMMETRIC保留保留保留 
SYSID非保留   
SYSTEM非保留保留保留 
SYSTEM_TIME 保留  
SYSTEM_USER 保留保留保留
T 非保留非保留 
TABLE保留保留保留保留
TABLES非保留   
TABLESAMPLE 保留保留 
TABLESPACE非保留   
TABLE_NAME 非保留非保留非保留
TEMP非保留   
TEMPLATE非保留   
TEMPORARY非保留非保留非保留保留
TEXT非保留   
THEN保留保留保留保留
TIES 非保留非保留 
TIME非保留(不能是函数或类型)保留保留保留
TIMESTAMP非保留(不能是函数或类型)保留保留保留
TIMEZONE_HOUR 保留保留保留
TIMEZONE_MINUTE 保留保留保留
TO保留保留保留保留
TOKEN 非保留非保留 
TOP_LEVEL_COUNT 非保留非保留 
TRAILING保留保留保留保留
TRANSACTION非保留非保留非保留保留
TRANSACTIONS_COMMITTED 非保留非保留 
TRANSACTIONS_ROLLED_BACK 非保留非保留 
TRANSACTION_ACTIVE 非保留非保留 
TRANSFORM 非保留非保留 
TRANSFORMS 非保留非保留 
TRANSLATE 保留保留保留
TRANSLATE_REGEX 保留保留 
TRANSLATION 保留保留保留
TREAT非保留(不能是函数或类型)保留保留 
TRIGGER非保留保留保留 
TRIGGER_CATALOG 非保留非保留 
TRIGGER_NAME 非保留非保留 
TRIGGER_SCHEMA 非保留非保留 
TRIM非保留(不能是函数或类型)保留保留保留
TRIM_ARRAY 保留保留 
TRUE保留保留保留保留
TRUNCATE非保留保留保留 
TRUSTED非保留   
TYPE非保留非保留非保留非保留
TYPES非保留   
UESCAPE 保留保留 
UNBOUNDED非保留非保留非保留 
UNCOMMITTED非保留非保留非保留非保留
UNDER 非保留非保留 
UNENCRYPTED非保留   
UNION保留保留保留保留
UNIQUE保留保留保留保留
UNKNOWN非保留保留保留保留
UNLINK 非保留非保留 
UNLISTEN非保留   
UNLOGGED非保留   
UNNAMED 非保留非保留非保留
UNNEST 保留保留 
UNTIL非保留   
UNTYPED 非保留非保留 
UPDATE非保留保留保留保留
UPPER 保留保留保留
URI 非保留非保留 
USAGE 非保留非保留保留
USER保留保留保留保留
USER_DEFINED_TYPE_CATALOG 非保留非保留 
USER_DEFINED_TYPE_CODE 非保留非保留 
USER_DEFINED_TYPE_NAME 非保留非保留 
USER_DEFINED_TYPE_SCHEMA 非保留非保留 
USING保留保留保留保留
VACUUM非保留   
VALID非保留非保留非保留 
VALIDATE非保留   
VALIDATOR非保留   
VALUE非保留保留保留保留
VALUES非保留(不能是函数或类型)保留保留保留
VALUE_OF 保留  
VARBINARY 保留保留 
VARCHAR非保留(不能是函数或类型)保留保留保留
VARIADIC保留   
VARYING非保留保留保留保留
VAR_POP 保留保留 
VAR_SAMP 保留保留 
VERBOSE保留(不能是函数或类型)   
VERSION非保留非保留非保留 
VERSIONING 保留  
VIEW非保留非保留非保留保留
VOLATILE非保留   
WHEN保留保留保留保留
WHENEVER 保留保留保留
WHERE保留保留保留保留
WHITESPACE非保留非保留非保留 
WIDTH_BUCKET 保留保留 
WINDOW保留保留保留 
WITH保留保留保留保留
WITHIN 保留保留 
WITHOUT非保留保留保留 
WORK非保留非保留非保留保留
WRAPPER非保留非保留非保留 
WRITE非保留非保留非保留保留
XML非保留保留保留 
XMLAGG 保留保留 
XMLATTRIBUTES非保留(不能是函数或类型)保留保留 
XMLBINARY 保留保留 
XMLCAST 保留保留 
XMLCOMMENT 保留保留 
XMLCONCAT非保留(不能是函数或类型)保留保留 
XMLDECLARATION 非保留非保留 
XMLDOCUMENT 保留保留 
XMLELEMENT非保留(不能是函数或类型)保留保留 
XMLEXISTS非保留(不能是函数或类型)保留保留 
XMLFOREST非保留(不能是函数或类型)保留保留 
XMLITERATE 保留保留 
XMLNAMESPACES 保留保留 
XMLPARSE非保留(不能是函数或类型)保留保留 
XMLPI非保留(不能是函数或类型)保留保留 
XMLQUERY 保留保留 
XMLROOT非保留(不能是函数或类型)   
XMLSCHEMA 非保留非保留 
XMLSERIALIZE非保留(不能是函数或类型)保留保留 
XMLTABLE 保留保留 
XMLTEXT 保留保留 
XMLVALIDATE 保留保留 
YEAR非保留保留保留保留
YES非保留非保留非保留 
ZONE非保留非保留非保留保留