Appendix C. SQL关键词

Table C.1列出了在SQL标准以及LightDB 13.8-24.2中作为关键词的所有记号。背景资料可以在Section 5.1.1中找到(由于篇幅的缘故,只包括了SQL标准的最近两个版本以及用于与历史比较的SQL-92。这些版本以及其他中间标准的版本之间的差别很小)。

SQL区分保留关键词和非保留关键词。根据标准,保留关键词才是真正的关键词,它们绝不会被允许作为标识符。非关键词仅仅是在特定上下文中具有特殊的含义并且可以在其他上下文中被用作标识符。大部分非保留关键词实际上是SQL指定的内建表和内建函数的名字。非保留关键词的概念存在的意义上实际上是声明某些上下文中的一个词被附加了某种预定义的含义。

LightDB的解析器中,情况更加复杂。其中有多种不同的记号分类,从那些决不能被用作标识符的记号到那些在解析器中绝对没有特殊状态,但被认为是普通的标识符。(后者通常是SQL中指定的函数)。在LightDB中甚至保留关键词也不是完全被保留的,而是可以被用作列标签(例如可以写SELECT 55 AS CHECK,虽然CHECK是一个保留关键词)。

Table C.1LightDB列中,我们把解析器明确知道但允许作为列名或者表名的那些关键词分类为非保留。有一些关键词是非保留的,但是不能被用作函数或数据类型名称,因此它们会被标记(大部分这些词表示有特殊语法的内建函数或数据类型。这种函数或类型仍然可用,但是不能被用户重新定义)。不允许作为列名或表名的记号被打上保留的标签。某些保留关键词被允许作为函数或数据类型的名字,这也显示在该表中。如果没有被那样标记,保留关键词仅被允许作为列标签。 这一列的空白项意味着这个词被LightDB当作一个普通的标识符。

此外,虽然大多数关键词可以用作bare列标签,而不用在它们前面写AS(如Section 8.3.2中描述的那样),但有一些需要在前面加上AS以避免歧义。 这些在表中被标记为requires AS

一般来说,如果你在使用任何所列出关键词作为标识符的命令,遇到虚假的解析器错误,应该尝试将该标识符加上引号来看看是否能解决问题。

在学习Table C.1之前有一件重要的事情是理解一个在LightDB中不被保留的关键字并不意味着与该词相关的特性没有被实现。反过来,一个关键词的存在也不表示相应特性的存在。

Table C.1. SQL Key Words

Key WordPostgreSQLLightDBSQL:2016SQL:2011SQL-92
A  non-reservednon-reserved 
ABORTnon-reserved    
ABS  reservedreserved 
ABSENT  non-reservednon-reserved 
ABSOLUTEnon-reserved non-reservednon-reservedreserved
ACCESSnon-reserved    
ACCORDING  non-reservednon-reserved 
ACOS  reserved  
ACTIONnon-reserved non-reservednon-reservedreserved
ACTIVE non-reserved   
ADA  non-reservednon-reservednon-reserved
ADDnon-reserved non-reservednon-reservedreserved
ADMINnon-reserved non-reservednon-reserved 
AFTERnon-reserved non-reservednon-reserved 
AGGREGATEnon-reserved    
ALLreserved, requires AS reservedreservedreserved
ALLOCATE  reservedreservedreserved
ALSOnon-reserved    
ALTERnon-reserved reservedreservedreserved
ALWAYSnon-reserved non-reservednon-reserved 
ANALYSEreserved    
ANALYZEreserved    
ANDreserved reservedreservedreserved
ANYreserved, requires AS reservedreservedreserved
APPEND non-reserved   
ARE  reservedreservedreserved
ARRAYreserved, requires AS reservedreserved 
ARRAY_AGG  reservedreserved 
ARRAY_​MAX_​CARDINALITY  reservedreserved 
ASreserved, requires AS reservedreservedreserved
ASCreserved non-reservednon-reservedreserved
ASENSIIVE     
ASENSITIVEnon-reserved reservedreserved 
ASIN  reserved  
ASSERTIONnon-reserved non-reservednon-reservedreserved
ASSIGNMENTnon-reserved non-reservednon-reserved 
ASYMMETRICreserved reservedreserved 
ATnon-reserved reservedreservedreserved
ATAN  reserved  
ATOMIC  reservedreserved 
ATTACHnon-reserved    
ATTRIBUTEnon-reserved non-reservednon-reserved 
ATTRIBUTES  non-reservednon-reserved 
AUTHID non-reserved   
AUTHORIZATIONreserved (can be function or type) reservedreservedreserved
AUTO_INCREMENT non-reserved   
AVG  reservedreservedreserved
BACKWARDnon-reserved    
BASE64  non-reservednon-reserved 
BEFOREnon-reserved non-reservednon-reserved 
BEGINnon-reserved reservedreservedreserved
BEGIN_FRAME  reservedreserved 
BEGIN_PARTITION  reservedreserved 
BERNOULLI  non-reservednon-reserved 
BETWEENnon-reserved (cannot be function or type) reservedreservedreserved
BIGINTnon-reserved (cannot be function or type) reservedreserved 
BIGSERIAL non-reserved   
BINARYreserved (can be function or type) reservedreserved 
BITnon-reserved (cannot be function or type)   reserved
BIT_LENGTH    reserved
BLOB  reservedreserved 
BLOCKED  non-reservednon-reserved 
BODY non-reserved   
BOM  non-reservednon-reserved 
BOOLEANnon-reserved (cannot be function or type) reservedreserved 
BOTHreserved reservedreservedreserved
BREADTHnon-reserved, requires AS non-reservednon-reserved 
BYnon-reserved reservedreservedreserved
BYTE non-reserved   
C  non-reservednon-reservednon-reserved
CACHEnon-reserved    
CALLnon-reserved reservedreserved 
CALLEDnon-reserved reservedreserved 
CARDINALITY  reservedreserved 
CASCADEnon-reserved non-reservednon-reservedreserved
CASCADEDnon-reserved reservedreservedreserved
CASEreserved reservedreservedreserved
CASTreserved reservedreservedreserved
CATALOGnon-reserved non-reservednon-reservedreserved
CATALOG_NAME  non-reservednon-reservednon-reserved
CEIL  reservedreserved 
CEILING  reservedreserved 
CHAINnon-reserved non-reservednon-reserved 
CHAINING  non-reserved  
CHARnon-reserved (cannot be function or type), requires AS reservedreservedreserved
CHARACTERnon-reserved (cannot be function or type), requires AS reservedreservedreserved
CHARACTERISTICSnon-reserved non-reservednon-reserved 
CHARACTERS  non-reservednon-reserved 
CHARACTER_LENGTH  reservedreservedreserved
CHARACTER_​SET_​CATALOG  non-reservednon-reservednon-reserved
CHARACTER_SET_NAME  non-reservednon-reservednon-reserved
CHARACTER_SET_SCHEMA  non-reservednon-reservednon-reserved
CHARSET non-reserved   
CHAR_LENGTH  reservedreservedreserved
CHECKreserved reservedreservedreserved
CHECKPOINTnon-reserved    
CLASSnon-reserved    
CLASSIFIER  reserved  
CLASS_ORIGIN  non-reservednon-reservednon-reserved
CLOB  reservedreserved 
CLOSEnon-reserved reservedreservedreserved
CLUSTERnon-reserved    
COALESCEnon-reserved (cannot be function or type) reservedreservedreserved
COBOL  non-reservednon-reservednon-reserved
COLLATEreserved reservedreservedreserved
COLLATIONreserved (can be function or type) non-reservednon-reservedreserved
COLLATION_CATALOG  non-reservednon-reservednon-reserved
COLLATION_NAME  non-reservednon-reservednon-reserved
COLLATION_SCHEMA  non-reservednon-reservednon-reserved
COLLECT  reservedreserved 
COLOCATE_WITH non-reserved   
COLUMNreserved reservedreservedreserved
COLUMNSnon-reserved non-reservednon-reserved 
COLUMN_NAME  non-reservednon-reservednon-reserved
COMMAND_FUNCTION  non-reservednon-reservednon-reserved
COMMAND_​FUNCTION_​CODE  non-reservednon-reserved 
COMMENTnon-reserved    
COMMENTSnon-reserved    
COMMITnon-reserved reservedreservedreserved
COMMITTEDnon-reserved non-reservednon-reservednon-reserved
COMPRESS non-reserved   
CONCURRENCY non-reserved   
CONCURRENTLYreserved (can be function or type)    
CONDITION  reservedreserved 
CONDITIONAL  non-reserved  
CONDITION_NUMBER  non-reservednon-reservednon-reserved
CONFIGURATIONnon-reserved    
CONFLICTnon-reserved    
CONNECT non-reservedreservedreservedreserved
CONNECTIONnon-reserved non-reservednon-reservedreserved
CONNECTION_NAME  non-reservednon-reservednon-reserved
CONNECT_BY_ISLEAF non-reserved   
CONNECT_BY_ROOT non-reserved   
CONSTRAINTreserved reservedreservedreserved
CONSTRAINTSnon-reserved non-reservednon-reservedreserved
CONSTRAINT_CATALOG  non-reservednon-reservednon-reserved
CONSTRAINT_NAME  non-reservednon-reservednon-reserved
CONSTRAINT_SCHEMA  non-reservednon-reservednon-reserved
CONSTRUCTOR  non-reservednon-reserved 
CONTAINS non-reservedreservedreserved 
CONTENTnon-reserved non-reservednon-reserved 
CONTINUEnon-reserved non-reservednon-reservedreserved
CONTROL  non-reservednon-reserved 
CONVERSIONnon-reserved    
CONVERT  reservedreservedreserved
COPYnon-reserved reserved  
CORR  reservedreserved 
CORRESPONDING  reservedreservedreserved
COS  reserved  
COSH  reserved  
COSTnon-reserved    
COUNT  reservedreservedreserved
COVAR_POP  reservedreserved 
COVAR_SAMP  reservedreserved 
CREATEreserved, requires AS reservedreservedreserved
CROSSreserved (can be function or type) reservedreservedreserved
CSVnon-reserved    
CUBEnon-reserved reservedreserved 
CUME_DIST  reservedreserved 
CURRENTnon-reserved reservedreservedreserved
CURRENT_CATALOGreserved reservedreserved 
CURRENT_DATEreserved reservedreservedreserved
CURRENT_​DEFAULT_​TRANSFORM_​GROUP  reservedreserved 
CURRENT_PATH  reservedreserved 
CURRENT_ROLEreserved reservedreserved 
CURRENT_ROW  reservedreserved 
CURRENT_SCHEMAreserved (can be function or type) reservedreserved 
CURRENT_TIMEreserved reservedreservedreserved
CURRENT_TIMESTAMPreserved reservedreservedreserved
CURRENT_​TRANSFORM_​GROUP_​FOR_​TYPE  reservedreserved 
CURRENT_USERreserved reservedreservedreserved
CURSORnon-reserved reservedreservedreserved
CURSOR_NAME  non-reservednon-reservednon-reserved
CYCLEnon-reserved reservedreserved 
DATAnon-reserved non-reservednon-reservednon-reserved
DATABASEnon-reserved    
DATALINK  reservedreserved 
DATE  reservedreservedreserved
DATETIME_​INTERVAL_​CODE  non-reservednon-reservednon-reserved
DATETIME_​INTERVAL_​PRECISION  non-reservednon-reservednon-reserved
DAYnon-reserved, requires AS reservedreservedreserved
DB  non-reservednon-reserved 
DEALLOCATEnon-reserved reservedreservedreserved
DECnon-reserved (cannot be function or type) reservedreservedreserved
DECFLOAT  reserved  
DECIMALnon-reserved (cannot be function or type) reservedreservedreserved
DECLAREnon-reserved, requires "" reservedreservedreserved
DECODEnon-reserved    
DEFAULTreserved reservedreservedreserved
DEFAULTSnon-reserved non-reservednon-reserved 
DEFERRABLEreserved non-reservednon-reservedreserved
DEFERREDnon-reserved non-reservednon-reservedreserved
DEFINE  reserved  
DEFINED  non-reservednon-reserved 
DEFINERnon-reserved non-reservednon-reserved 
DEGREE  non-reservednon-reserved 
DELETEnon-reserved reservedreservedreserved
DELIMITERnon-reserved    
DELIMITERSnon-reserved    
DENSE_RANKnon-reserved, requires AS reservedreserved 
DEPENDSnon-reserved    
DEPTHnon-reserved, requires AS non-reservednon-reserved 
DEREF  reservedreserved 
DERIVED  non-reservednon-reserved 
DESCreserved non-reservednon-reservedreserved
DESCRIBE  reservedreservedreserved
DESCRIPTOR  non-reservednon-reservedreserved
DETACHnon-reserved    
DETERMINISTIC  reservedreserved 
DIAGNOSTICS  non-reservednon-reservedreserved
DICTIONARYnon-reserved    
DIRECTORYnon-reserved    
DISABLEnon-reserved    
DISCARDnon-reserved    
DISCONNECT  reservedreservedreserved
DISPATCH  non-reservednon-reserved 
DISTINCTreserved reservedreservedreserved
DISTRIBUTED non-reserved   
DLNEWCOPY  reservedreserved 
DLPREVIOUSCOPY  reservedreserved 
DLURLCOMPLETE  reservedreserved 
DLURLCOMPLETEONLY  reservedreserved 
DLURLCOMPLETEWRITE  reservedreserved 
DLURLPATH  reservedreserved 
DLURLPATHONLY  reservedreserved 
DLURLPATHWRITE  reservedreserved 
DLURLSCHEME  reservedreserved 
DLURLSERVER  reservedreserved 
DLVALUE  reservedreserved 
DOreserved    
DOCUMENTnon-reserved non-reservednon-reserved 
DOMAINnon-reserved non-reservednon-reservedreserved
DOUBLEnon-reserved reservedreservedreserved
DROPnon-reserved reservedreservedreserved
DUPLICATE non-reserved   
DYNAMIC  reservedreserved 
DYNAMIC_FUNCTION  non-reservednon-reservednon-reserved
DYNAMIC_​FUNCTION_​CODE  non-reservednon-reserved 
EACHnon-reserved reservedreserved 
EDITIONABLE non-reserved   
EDITIONING non-reserved   
ELEMENT  reservedreserved 
ELSEreserved reservedreservedreserved
ELSIF non-reserved   
EMPTY  reservednon-reserved 
ENABLEnon-reserved    
ENCODINGnon-reserved non-reservednon-reserved 
ENCRYPTEDnon-reserved    
ENDreserved reservedreservedreserved
END-EXEC  reservedreservedreserved
END_FRAME  reservedreserved 
END_PARTITION  reservedreserved 
ENFORCED  non-reservednon-reserved 
ENGINE non-reserved   
ENUMnon-reserved    
EQUALS  reservedreserved 
ERROR non-reservednon-reserved  
ESCAPEnon-reserved reservedreservedreserved
EVENTnon-reserved    
EVERY non-reservedreservedreserved 
EXCEPTreserved, requires AS reservedreservedreserved
EXCEPTION non-reserved  reserved
EXCHANGE non-reserved   
EXCLUDEnon-reserved non-reservednon-reserved 
EXCLUDINGnon-reserved non-reservednon-reserved 
EXCLUSIVEnon-reserved    
EXEC  reservedreservedreserved
EXECUTEnon-reserved reservedreservedreserved
EXISTSnon-reserved (cannot be function or type) reservedreservedreserved
EXP  reservedreserved 
EXPAND non-reserved   
EXPLAINnon-reserved    
EXPRESSIONnon-reserved non-reservednon-reserved 
EXTENSIONnon-reserved    
EXTERNALnon-reserved reservedreservedreserved
EXTRACTnon-reserved (cannot be function or type) reservedreservedreserved
FALSEreserved reservedreservedreserved
FAMILYnon-reserved    
FETCHreserved, requires AS reservedreservedreserved
FILE  non-reservednon-reserved 
FILTERnon-reserved, requires AS reservedreserved 
FINAL  non-reservednon-reserved 
FINISH  non-reserved  
FIRSTnon-reserved non-reservednon-reservedreserved
FIRST_VALUEnon-reserved reservedreserved 
FLAG  non-reservednon-reserved 
FLASHBACKnon-reserved, requires AS    
FLOATnon-reserved (cannot be function or type) reservedreservedreserved
FLOOR  reservedreserved 
FOLLOWINGnon-reserved non-reservednon-reserved 
FORreserved, requires AS reservedreservedreserved
FORCEnon-reserved    
FOREIGNreserved reservedreservedreserved
FORMAT non-reservednon-reserved  
FORTRAN  non-reservednon-reservednon-reserved
FORWARDnon-reserved    
FOUND  non-reservednon-reservedreserved
FRAME_ROW  reservedreserved 
FREE  reservedreserved 
FREEZEreserved (can be function or type)    
FROMreserved, requires AS reservedreservedreserved
FS  non-reservednon-reserved 
FULFILL  non-reserved  
FULLreserved (can be function or type) reservedreservedreserved
FULLSCAN non-reserved   
FUNCTIONnon-reserved reservedreserved 
FUNCTIONSnon-reserved    
FUSION  reservedreserved 
G  non-reservednon-reserved 
GENERAL  non-reservednon-reserved 
GENERATEDnon-reserved non-reservednon-reserved 
GET  reservedreservedreserved
GLOBALnon-reserved reservedreservedreserved
GO  non-reservednon-reservedreserved
GOTO  non-reservednon-reservedreserved
GRANTreserved, requires AS reservedreservedreserved
GRANTEDnon-reserved non-reservednon-reserved 
GREATESTnon-reserved (cannot be function or type)    
GROUPreserved, requires AS reservedreservedreserved
GROUPINGnon-reserved (cannot be function or type) reservedreserved 
GROUPSnon-reserved reservedreserved 
GROUP_CONCAT non-reserved   
HANDLERnon-reserved    
HASH non-reserved   
HAVINGreserved, requires AS reservedreservedreserved
HEADERnon-reserved    
HEX  non-reservednon-reserved 
HIERARCHY  non-reservednon-reserved 
HOLDnon-reserved reservedreserved 
HOURnon-reserved, requires AS reservedreservedreserved
ID  non-reservednon-reserved 
IDENTIFIED non-reserved   
IDENTITYnon-reserved reservedreservedreserved
IFnon-reserved    
IGNORE non-reservednon-reservednon-reserved 
ILIKEreserved (can be function or type)    
IMMEDIATEnon-reserved non-reservednon-reservedreserved
IMMEDIATELY  non-reservednon-reserved 
IMMUTABLEnon-reserved    
IMPLEMENTATION  non-reservednon-reserved 
IMPLICITnon-reserved    
IMPORTnon-reserved reservedreserved 
INreserved reservedreservedreserved
INCLUDEnon-reserved    
INCLUDINGnon-reserved non-reservednon-reserved 
INCLUSIVE non-reserved   
INCREMENTnon-reserved non-reservednon-reserved 
INDENT  non-reservednon-reserved 
INDEXreserved    
INDEXESnon-reserved    
INDICATOR  reservedreservedreserved
INHERITnon-reserved    
INHERITSnon-reserved    
INITIAL  reserved  
INITIALLYreserved non-reservednon-reservedreserved
INITRANS non-reserved   
INLINEnon-reserved    
INNERreserved (can be function or type) reservedreservedreserved
INNODB non-reserved   
INOUTnon-reserved (cannot be function or type) reservedreserved 
INPUTnon-reserved non-reservednon-reservedreserved
INSENSITIVEnon-reserved reservedreservedreserved
INSERTnon-reserved reservedreservedreserved
INSTANCE  non-reservednon-reserved 
INSTANTIABLE  non-reservednon-reserved 
INSTEADnon-reserved non-reservednon-reserved 
INTnon-reserved (cannot be function or type) reservedreservedreserved
INTEGERnon-reserved (cannot be function or type) reservedreservedreserved
INTEGRITY  non-reservednon-reserved 
INTERSECTreserved, requires AS reservedreservedreserved
INTERSECTION  reservedreserved 
INTERVALnon-reserved (cannot be function or type) reservedreservedreserved
INTOreserved, requires AS reservedreservedreserved
INVOKERnon-reserved non-reservednon-reserved 
ISreserved (can be function or type) reservedreservedreserved
ISNULLreserved (can be function or type), requires AS    
ISOLATIONnon-reserved non-reservednon-reservedreserved
JOINreserved (can be function or type) reservedreservedreserved
JSON non-reservednon-reserved  
JSON_ARRAY  reserved  
JSON_ARRAYAGG  reserved  
JSON_EXISTS  reserved  
JSON_OBJECT non-reserved (cannot be function or type)reserved  
JSON_OBJECTAGG  reserved  
JSON_QUERY  reserved  
JSON_TABLE non-reserved (cannot be function or type)reserved  
JSON_TABLE_PRIMITIVE  reserved  
JSON_VALUE non-reserved (cannot be function or type)reserved  
K  non-reservednon-reserved 
KEEPnon-reserved, requires AS non-reserved  
KEYnon-reserved non-reservednon-reservedreserved
KEYS  non-reserved  
KEY_MEMBER  non-reservednon-reserved 
KEY_TYPE  non-reservednon-reserved 
LABELnon-reserved    
LAG  reservedreserved 
LANGUAGEnon-reserved reservedreservedreserved
LARGEnon-reserved reservedreserved 
LASTnon-reserved non-reservednon-reservedreserved
LAST_VALUEnon-reserved reservedreserved 
LATERALreserved reservedreserved 
LEAD  reservedreserved 
LEADINGreserved reservedreservedreserved
LEAKPROOFnon-reserved    
LEASTnon-reserved (cannot be function or type)    
LEFTreserved (can be function or type) reservedreservedreserved
LENGTH  non-reservednon-reservednon-reserved
LESS non-reserved   
LEVELnon-reserved non-reservednon-reservedreserved
LIBRARY  non-reservednon-reserved 
LIKEreserved (can be function or type) reservedreservedreserved
LIKE_REGEX  reservedreserved 
LIMITreserved, requires AS non-reservednon-reserved 
LINK  non-reservednon-reserved 
LIST non-reserved   
LISTAGG  reserved  
LISTENnon-reserved    
LN  reservedreserved 
LOADnon-reserved    
LOCALnon-reserved reservedreservedreserved
LOCALTIMEreserved reservedreserved 
LOCALTIMESTAMPreserved reservedreserved 
LOCATIONnon-reserved non-reservednon-reserved 
LOCATOR  non-reservednon-reserved 
LOCKnon-reserved    
LOCKEDnon-reserved    
LOG  reserved  
LOG10  reserved  
LOGGEDnon-reserved    
LOGGING non-reserved   
LOOP non-reserved   
LOWER  reservedreservedreserved
LT_​SYNTAX_​COMPATIBLE_​TYPEreserved (can be function or type)    
M  non-reservednon-reserved 
MAP  non-reservednon-reserved 
MAPPINGnon-reserved non-reservednon-reserved 
MASTER non-reserved   
MATCHnon-reserved reservedreservedreserved
MATCHED non-reservednon-reservednon-reserved 
MATCHES  reserved  
MATCH_NUMBER  reserved  
MATCH_RECOGNIZE  reserved  
MATERIALIZEDnon-reserved    
MAX  reservedreservedreserved
MAXVALUEnon-reserved non-reservednon-reserved 
MEASURES  reserved  
MEMBER non-reservedreservedreserved 
MERGE non-reservedreservedreserved 
MESSAGE_LENGTH  non-reservednon-reservednon-reserved
MESSAGE_OCTET_LENGTH  non-reservednon-reservednon-reserved
MESSAGE_TEXT  non-reservednon-reservednon-reserved
METHODnon-reserved reservedreserved 
MIN  reservedreservedreserved
MINUSreserved, requires AS    
MINUTEnon-reserved, requires AS reservedreservedreserved
MINVALUEnon-reserved non-reservednon-reserved 
MISSING non-reserved   
MODnon-reserved reservedreserved 
MODEnon-reserved    
MODIFIES  reservedreserved 
MODIFY non-reserved   
MODULE  reservedreservedreserved
MONITORING non-reserved   
MONTHnon-reserved reservedreservedreserved
MORE  non-reservednon-reservednon-reserved
MOVEnon-reserved    
MULTISET  reservedreserved 
MUMPS  non-reservednon-reservednon-reserved
MYISAM non-reserved   
NAMEnon-reserved non-reservednon-reservednon-reserved
NAMESnon-reserved non-reservednon-reservedreserved
NAMESPACE  non-reservednon-reserved 
NATIONALnon-reserved (cannot be function or type) reservedreservedreserved
NATURALreserved (can be function or type) reservedreservedreserved
NCHARnon-reserved (cannot be function or type) reservedreservedreserved
NCLOB  reservedreserved 
NESTED non-reservednon-reserved  
NESTING  non-reservednon-reserved 
NEWnon-reserved reservedreserved 
NEXTnon-reserved non-reservednon-reservedreserved
NFCnon-reserved non-reservednon-reserved 
NFDnon-reserved non-reservednon-reserved 
NFKCnon-reserved non-reservednon-reserved 
NFKDnon-reserved non-reservednon-reserved 
NIL  non-reservednon-reserved 
NOnon-reserved reservedreservedreserved
NOCACHE non-reserved   
NOCOMPRESS non-reserved   
NOCYCLE non-reserved   
NOLOGGING non-reserved   
NOMAXVALUE non-reserved   
NOMINVALUE non-reserved   
NONEnon-reserved (cannot be function or type) reservedreserved 
NONEDITIONABLE non-reserved   
NOORDER non-reserved   
NOPARALLEL non-reserved   
NORMALIZEnon-reserved (cannot be function or type) reservedreserved 
NORMALIZEDnon-reserved non-reservednon-reserved 
NOTreserved reservedreservedreserved
NOTHINGnon-reserved    
NOTIFYnon-reserved    
NOTNULLreserved (can be function or type), requires AS    
NOWAITnon-reserved    
NTH_VALUE  reservedreserved 
NTILE  reservedreserved 
NULLreserved reservedreservedreserved
NULLABLE  non-reservednon-reservednon-reserved
NULLIFnon-reserved (cannot be function or type) reservedreservedreserved
NULLSnon-reserved non-reservednon-reserved 
NUMBER non-reserved (cannot be function or type)non-reservednon-reservednon-reserved
NUMERICnon-reserved (cannot be function or type) reservedreservedreserved
OBJECTnon-reserved non-reservednon-reserved 
OCCURRENCES_REGEX  reservedreserved 
OCTETS  non-reservednon-reserved 
OCTET_LENGTH  reservedreservedreserved
OFnon-reserved reservedreservedreserved
OFFnon-reserved non-reservednon-reserved 
OFFSETreserved, requires AS reservedreserved 
OIDSnon-reserved    
OLDnon-reserved reservedreserved 
OMIT  reserved  
ONreserved, requires AS reservedreservedreserved
ONE  reserved  
ONLINE non-reserved   
ONLYreserved reservedreservedreserved
OPEN  reservedreservedreserved
OPERATORnon-reserved    
OPTIONnon-reserved non-reservednon-reservedreserved
OPTIONSnon-reserved non-reservednon-reserved 
ORreserved reservedreservedreserved
ORDERreserved, requires AS reservedreservedreserved
ORDERED non-reserved   
ORDERING  non-reservednon-reserved 
ORDINALITYnon-reserved non-reservednon-reserved 
OTHERSnon-reserved non-reservednon-reserved 
OUTnon-reserved (cannot be function or type) reservedreserved 
OUTERnon-reserved reservedreservedreserved
OUTPUT  non-reservednon-reservedreserved
OVERnon-reserved, requires AS reservedreserved 
OVERFLOW non-reservednon-reserved  
OVERLAPSreserved (can be function or type), requires AS reservedreservedreserved
OVERLAYnon-reserved (cannot be function or type) reservedreserved 
OVERRIDINGnon-reserved non-reservednon-reserved 
OWNEDnon-reserved    
OWNERnon-reserved    
P  non-reservednon-reserved 
PACKAGE non-reserved   
PAD  non-reservednon-reservedreserved
PARALLELnon-reserved    
PARALLEL_ENABLE non-reserved   
PARAMETER  reservedreserved 
PARAMETER_MODE  non-reservednon-reserved 
PARAMETER_NAME  non-reservednon-reserved 
PARAMETER_​ORDINAL_​POSITION  non-reservednon-reserved 
PARAMETER_​SPECIFIC_​CATALOG  non-reservednon-reserved 
PARAMETER_​SPECIFIC_​NAME  non-reservednon-reserved 
PARAMETER_​SPECIFIC_​SCHEMA  non-reservednon-reserved 
PARSERnon-reserved    
PARTIALnon-reserved non-reservednon-reservedreserved
PARTITIONreserved, requires AS reservedreserved 
PARTITIONS non-reserved   
PASCAL  non-reservednon-reservednon-reserved
PASS  non-reserved  
PASSINGnon-reserved non-reservednon-reserved 
PASSTHROUGH  non-reservednon-reserved 
PASSWORDnon-reserved    
PAST  non-reserved  
PATH non-reservednon-reservednon-reserved 
PATTERN  reserved  
PCTFREE non-reserved   
PER  reserved  
PERCENT  reservedreserved 
PERCENTILE_CONT  reservedreserved 
PERCENTILE_DISC  reservedreserved 
PERCENT_RANK  reservedreserved 
PERIOD  reservedreserved 
PERMISSION  non-reservednon-reserved 
PERMUTE  reserved  
PIVOTreserved    
PLACINGreserved non-reservednon-reserved 
PLAN  non-reserved  
PLANSnon-reserved    
PLI  non-reservednon-reservednon-reserved
POLICYnon-reserved    
PORTION  reservedreserved 
POSITIONnon-reserved (cannot be function or type) reservedreservedreserved
POSITION_REGEX  reservedreserved 
POWER  reservedreserved 
PRECEDES  reservedreserved 
PRECEDINGnon-reserved non-reservednon-reserved 
PRECISIONnon-reserved (cannot be function or type), requires AS reservedreservedreserved
PREPAREnon-reserved reservedreservedreserved
PREPAREDnon-reserved    
PRESERVEnon-reserved non-reservednon-reservedreserved
PRIMARYreserved reservedreservedreserved
PRIORreserved non-reservednon-reservedreserved
PRIVATE  non-reserved  
PRIVILEGESnon-reserved non-reservednon-reservedreserved
PROCEDURALnon-reserved    
PROCEDUREnon-reserved reservedreservedreserved
PROCEDURESnon-reserved    
PROGRAMnon-reserved    
PRUNE  non-reserved  
PTF  reserved  
PUBLICnon-reserved non-reservednon-reservedreserved
PUBLICATIONnon-reserved    
PURGEnon-reserved, requires AS    
QUOTEnon-reserved    
QUOTES  non-reserved  
RANDOMLY non-reserved   
RANGEnon-reserved reservedreserved 
RANK  reservedreserved 
READnon-reserved non-reservednon-reservedreserved
READABLE non-reserved   
READS  reservedreserved 
REALnon-reserved (cannot be function or type) reservedreservedreserved
REASSIGNnon-reserved    
REBUILD non-reserved   
RECHECKnon-reserved    
RECORD non-reserved   
RECOVERY  non-reservednon-reserved 
RECURSIVEnon-reserved reservedreserved 
RECYCLEBINreserved, requires AS    
REFnon-reserved reservedreserved 
REFERENCESreserved reservedreservedreserved
REFERENCINGnon-reserved reservedreserved 
REFRESHnon-reserved    
REGR_AVGX  reservedreserved 
REGR_AVGY  reservedreserved 
REGR_COUNT  reservedreserved 
REGR_INTERCEPT  reservedreserved 
REGR_R2  reservedreserved 
REGR_SLOPE  reservedreserved 
REGR_SXX  reservedreserved 
REGR_SXY  reservedreserved 
REGR_SYY  reservedreserved 
REINDEXnon-reserved    
RELATIVEnon-reserved non-reservednon-reservedreserved
RELEASEnon-reserved reservedreserved 
RENAMEnon-reserved    
REPEATABLEnon-reserved non-reservednon-reservednon-reserved
REPLACEnon-reserved    
REPLICAnon-reserved    
REPLICATED non-reserved   
REQUIRING  non-reservednon-reserved 
RESETnon-reserved    
RESPECTnon-reserved non-reservednon-reserved 
RESTARTnon-reserved non-reservednon-reserved 
RESTORE  non-reservednon-reserved 
RESTRICTnon-reserved non-reservednon-reservedreserved
RESULT  reservedreserved 
RETURNreserved, requires AS reservedreserved 
RETURNED_CARDINALITY  non-reservednon-reserved 
RETURNED_LENGTH  non-reservednon-reservednon-reserved
RETURNED_​OCTET_​LENGTH  non-reservednon-reservednon-reserved
RETURNED_SQLSTATE  non-reservednon-reservednon-reserved
RETURNINGreserved, requires AS non-reservednon-reserved 
RETURNSnon-reserved reservedreserved 
REVOKEnon-reserved reservedreservedreserved
RIGHTreserved (can be function or type) reservedreservedreserved
ROLEnon-reserved non-reservednon-reserved 
ROLLBACKnon-reserved reservedreservedreserved
ROLLUPnon-reserved reservedreserved 
ROOTPARTITION non-reserved   
ROUTINEnon-reserved non-reservednon-reserved 
ROUTINESnon-reserved    
ROUTINE_CATALOG  non-reservednon-reserved 
ROUTINE_NAME  non-reservednon-reserved 
ROUTINE_SCHEMA  non-reservednon-reserved 
ROWnon-reserved (cannot be function or type) reservedreserved 
ROWNUMreserved    
ROWSnon-reserved reservedreservedreserved
ROWTYPE non-reserved   
ROW_COUNT  non-reservednon-reservednon-reserved
ROW_NUMBER  reservedreserved 
RULEnon-reserved    
RUNNING  reserved  
SAMPLE non-reserved   
SAVEPOINTnon-reserved reservedreserved 
SCALAR  non-reserved  
SCALE  non-reservednon-reservednon-reserved
SCHEMAnon-reserved non-reservednon-reservedreserved
SCHEMASnon-reserved    
SCHEMA_NAME  non-reservednon-reservednon-reserved
SCOPE  reservedreserved 
SCOPE_CATALOG  non-reservednon-reserved 
SCOPE_NAME  non-reservednon-reserved 
SCOPE_SCHEMA  non-reservednon-reserved 
SCROLLnon-reserved reservedreservedreserved
SEARCHnon-reserved reservedreserved 
SECONDnon-reserved, requires AS reservedreservedreserved
SECTION  non-reservednon-reservedreserved
SECURITYnon-reserved non-reservednon-reserved 
SEEK  reserved  
SELECTreserved reservedreservedreserved
SELECTIVE  non-reservednon-reserved 
SELF  non-reservednon-reserved 
SENSITIVE  reservedreserved 
SEPARATOR non-reserved   
SEQUENCEnon-reserved non-reservednon-reserved 
SEQUENCESnon-reserved    
SERIAL non-reserved   
SERIALIZABLEnon-reserved non-reservednon-reservednon-reserved
SERVERnon-reserved non-reservednon-reserved 
SERVER_NAME  non-reservednon-reservednon-reserved
SESSIONnon-reserved non-reservednon-reservedreserved
SESSION_USERreserved reservedreservedreserved
SETnon-reserved reservedreservedreserved
SETOFnon-reserved (cannot be function or type)    
SETSnon-reserved non-reservednon-reserved 
SHARD_COUNT non-reserved   
SHAREnon-reserved    
SHOWnon-reserved reserved  
SIMILARreserved (can be function or type) reservedreserved 
SIMPLEnon-reserved non-reservednon-reserved 
SIN  reserved  
SINH  reserved  
SIZE  non-reservednon-reservedreserved
SKIPnon-reserved reserved  
SMALLINTnon-reserved (cannot be function or type) reservedreservedreserved
SMALLSERIAL non-reserved   
SNAPSHOTnon-reserved    
SOMEreserved, requires AS reservedreservedreserved
SOURCE  non-reservednon-reserved 
SPACE  non-reservednon-reservedreserved
SPECIFIC  reservedreserved 
SPECIFICTYPE  reservedreserved 
SPECIFIC_NAME  non-reservednon-reserved 
SPLIT non-reserved   
SQLnon-reserved reservedreservedreserved
SQLCODE    reserved
SQLERROR    reserved
SQLEXCEPTION  reservedreserved 
SQLSTATE  reservedreservedreserved
SQLWARNING  reservedreserved 
SQRT  reservedreserved 
STABLEnon-reserved    
STANDALONEnon-reserved non-reservednon-reserved 
STARTnon-reserved reservedreserved 
STATE  non-reservednon-reserved 
STATEMENTnon-reserved non-reservednon-reserved 
STATICnon-reserved reservedreserved 
STATISTICSnon-reserved    
STDDEV_POP  reservedreserved 
STDDEV_SAMP  reservedreserved 
STDINnon-reserved    
STDOUTnon-reserved    
STORAGEnon-reserved    
STORE non-reserved   
STOREDnon-reserved    
STRICTnon-reserved    
STRING  non-reserved  
STRIPnon-reserved non-reservednon-reserved 
STRUCTURE  non-reservednon-reserved 
STYLE  non-reservednon-reserved 
SUBCLASS_ORIGIN  non-reservednon-reservednon-reserved
SUBMULTISET  reservedreserved 
SUBPARTITION non-reserved   
SUBPARTITIONS non-reserved   
SUBSCRIPTIONnon-reserved    
SUBSET  reserved  
SUBSTRINGnon-reserved (cannot be function or type) reservedreservedreserved
SUBSTRING_REGEX  reservedreserved 
SUBTYPE non-reserved   
SUCCEEDS  reservedreserved 
SUM  reservedreservedreserved
SUPPORTnon-reserved    
SYMMETRICreserved reservedreserved 
SYNONYMnon-reserved    
SYSDATEreserved (can be function or type)    
SYSIDnon-reserved    
SYSTEMnon-reserved reservedreserved 
SYSTEM_TIME  reservedreserved 
SYSTEM_USER  reservedreservedreserved
SYSTIMESTAMPreserved (can be function or type)    
SYS_CONNECT_BY_PATH non-reserved   
T  non-reservednon-reserved 
TABLEreserved reservedreservedreserved
TABLESnon-reserved    
TABLESAMPLEreserved (can be function or type) reservedreserved 
TABLESPACEnon-reserved    
TABLE_NAME  non-reservednon-reservednon-reserved
TAN  reserved  
TANH  reserved  
TEMPnon-reserved    
TEMPLATEnon-reserved    
TEMPORARYnon-reserved non-reservednon-reservedreserved
TEXTnon-reserved    
THAN non-reserved   
THENreserved reservedreservedreserved
THROUGH  non-reserved  
TIESnon-reserved non-reservednon-reserved 
TIMEnon-reserved (cannot be function or type) reservedreservedreserved
TIMESTAMPnon-reserved (cannot be function or type) reservedreservedreserved
TIMEZONE_HOUR  reservedreservedreserved
TIMEZONE_MINUTE  reservedreservedreserved
TINYINT non-reserved (cannot be function or type)   
TOreserved, requires AS reservedreservedreserved
TOKEN  non-reservednon-reserved 
TOP_LEVEL_COUNT  non-reservednon-reserved 
TRAILINGreserved reservedreservedreserved
TRANSACTIONnon-reserved non-reservednon-reservedreserved
TRANSACTIONS_​COMMITTED  non-reservednon-reserved 
TRANSACTIONS_​ROLLED_​BACK  non-reservednon-reserved 
TRANSACTION_ACTIVE  non-reservednon-reserved 
TRANSFORM  non-reservednon-reserved 
TRANSFORMS  non-reservednon-reserved 
TRANSLATE  reservedreservedreserved
TRANSLATE_REGEX  reservedreserved 
TRANSLATION  reservedreservedreserved
TREATnon-reserved (cannot be function or type) reservedreserved 
TRIGGERnon-reserved reservedreserved 
TRIGGER_CATALOG  non-reservednon-reserved 
TRIGGER_NAME  non-reservednon-reserved 
TRIGGER_SCHEMA  non-reservednon-reserved 
TRIMnon-reserved (cannot be function or type) reservedreservedreserved
TRIM_ARRAY  reservedreserved 
TRUEreserved reservedreservedreserved
TRUNCATEnon-reserved reservedreserved 
TRUSTEDnon-reserved    
TYPEnon-reserved non-reservednon-reservednon-reserved
TYPESnon-reserved    
UESCAPEnon-reserved reservedreserved 
UNBOUNDEDnon-reserved non-reservednon-reserved 
UNCOMMITTEDnon-reserved non-reservednon-reservednon-reserved
UNCONDITIONAL  non-reserved  
UNDER  non-reservednon-reserved 
UNENCRYPTEDnon-reserved    
UNIONreserved, requires AS reservedreservedreserved
UNIQUEreserved reservedreservedreserved
UNKNOWNnon-reserved reservedreservedreserved
UNLIMITED non-reserved   
UNLINK  non-reservednon-reserved 
UNLISTENnon-reserved    
UNLOGGEDnon-reserved    
UNMATCHED  reserved  
UNNAMED  non-reservednon-reservednon-reserved
UNNEST  reservedreserved 
UNSIGNEDnon-reserved    
UNTILnon-reserved    
UNTYPED  non-reservednon-reserved 
UPDATEnon-reserved reservedreservedreserved
UPPER  reservedreservedreserved
URI  non-reservednon-reserved 
USAGE  non-reservednon-reservedreserved
USE non-reserved   
USERreserved reservedreservedreserved
USER_​DEFINED_​TYPE_​CATALOG  non-reservednon-reserved 
USER_​DEFINED_​TYPE_​CODE  non-reservednon-reserved 
USER_​DEFINED_​TYPE_​NAME  non-reservednon-reserved 
USER_​DEFINED_​TYPE_​SCHEMA  non-reservednon-reserved 
USINGreserved reservedreservedreserved
UTF16  non-reserved  
UTF32  non-reserved  
UTF8  non-reserved  
VACUUMnon-reserved    
VALIDnon-reserved non-reservednon-reserved 
VALIDATEnon-reserved    
VALIDATORnon-reserved    
VALUEnon-reserved reservedreservedreserved
VALUESnon-reserved (cannot be function or type) reservedreservedreserved
VALUE_OF  reservedreserved 
VARBINARY  reservedreserved 
VARCHARnon-reserved (cannot be function or type) reservedreservedreserved
VARIADICreserved    
VARYINGnon-reserved, requires AS reservedreservedreserved
VAR_POP  reservedreserved 
VAR_SAMP  reservedreserved 
VERBOSEreserved (can be function or type)    
VERSIONnon-reserved non-reservednon-reserved 
VERSIONING  reservedreserved 
VIEWnon-reserved non-reservednon-reservedreserved
VIEWSnon-reserved    
VOLATILEnon-reserved    
WELLFORMED non-reserved   
WHENreserved reservedreservedreserved
WHENEVER  reservedreservedreserved
WHEREreserved, requires AS reservedreservedreserved
WHILE non-reserved   
WHITESPACEnon-reserved non-reservednon-reserved 
WIDTH_BUCKET  reservedreserved 
WINDOWreserved, requires AS reservedreserved 
WITHreserved, requires AS reservedreservedreserved
WITHINnon-reserved, requires AS reservedreserved 
WITHOUTnon-reserved, requires AS reservedreserved 
WORKnon-reserved non-reservednon-reservedreserved
WRAPPERnon-reserved non-reservednon-reserved 
WRITABLE non-reserved   
WRITEnon-reserved non-reservednon-reservedreserved
XMLnon-reserved reservedreserved 
XMLAGG  reservedreserved 
XMLATTRIBUTESnon-reserved (cannot be function or type) reservedreserved 
XMLBINARY  reservedreserved 
XMLCAST  reservedreserved 
XMLCOMMENT  reservedreserved 
XMLCONCATnon-reserved (cannot be function or type) reservedreserved 
XMLDECLARATION  non-reservednon-reserved 
XMLDOCUMENT  reservedreserved 
XMLELEMENTnon-reserved (cannot be function or type) reservedreserved 
XMLEXISTSnon-reserved (cannot be function or type) reservedreserved 
XMLFORESTnon-reserved (cannot be function or type) reservedreserved 
XMLITERATE  reservedreserved 
XMLNAMESPACESnon-reserved (cannot be function or type) reservedreserved 
XMLPARSEnon-reserved (cannot be function or type) reservedreserved 
XMLPInon-reserved (cannot be function or type) reservedreserved 
XMLQUERY  reservedreserved 
XMLROOTnon-reserved (cannot be function or type)    
XMLSCHEMA  non-reservednon-reserved 
XMLSERIALIZEnon-reserved (cannot be function or type) reservedreserved 
XMLTABLEnon-reserved (cannot be function or type) reservedreserved 
XMLTEXT  reservedreserved 
XMLVALIDATE  reservedreserved 
YEARnon-reserved, requires AS reservedreservedreserved
YESnon-reserved non-reservednon-reserved 
ZONEnon-reserved non-reservednon-reservedreserved