Annexe C. Mots-clé SQL

La Tableau C-1 liste tous les éléments qui sont des mots-clé dans le standard SQL et dans PostgreSQL 7.4.29. Des informations sous-jacentes peuvent être trouvées dans Section 4.1.1.

SQL distingue les mots-clé réservés et non réservés. Selon le standard, les mots-clé réservés sont réellement les seuls mots-clé ; ils ne sont jamais autorisés comme identifiants. Les mots-clé non réservés ont seulement un sens spécial dans certains contextes et peuvent être utilisés comme identifiants dans d'autres contextes. La plupart des mots-clé non réservés sont en fait les noms des tables et des fonctions prédéfinies spécifiés par SQL. Le concept de mots-clé non réservés existe seulement pour indiquer que certains sens prédéfinis sont attachés à un mot dans certains contextes.

Dans l'analyseur de PostgreSQL, la vie est un peu plus compliquée. Il y a différentes classes d'éléments allant de ceux que l'on ne peut jamais utiliser comme identifiants à ceux qui n'ont absolument aucun statut spécial dans l'analyseur par rapport à un identifiant ordinaire (c'est généralement le cas pour les fonctions spécifiées par SQL). Même les mots-clé réservés ne sont pas complètement réservés dans PostgreSQL et peuvent être utilisés comme noms des colonnes (par exemple, SELECT 55 AS CHECK, même si CHECK est un mot-clé).

Dans Tableau C-1, dans la colonne pour PostgreSQL, nous classons comme << non réservé >> les mots-clé qui sont explicitement connus par l'analyseur mais qui sont autorisés dans la plupart des contextes où un identifiant est attendu. Certains mots-clé qui sont non réservés et qui ne peuvent pas être utilisés comme un nom de fonction ou un type de données sont marqués en conséquence. (La plupart des mots représentent des fonctions prédéfinies ou des types de données avec une syntaxe spéciale. La fonction ou le type est toujours disponible mais il ne peut pas être redéfini par un utilisateur.) Les << réservés >> sont des éléments qui sont seulement admis comme noms de colonnes << AS >> (et peut-être dans très peu d'autres contextes). Certains mots-clé réservés sont autorisés comme noms pour les fonctions ; cela est également montré dans le tableau.

En règle générale, si vous avez des erreurs de la part de l'analyseur pour des commandes qui contiennent un des mots-clés listés comme identifiants, vous devriez essayer de mettre entre guillemets l'identifiant pour voir si le problème disparait.

Il est important de comprendre avant d'étudier la Tableau C-1 que le fait qu'un mot-clé ne soit pas réservé dans PostgreSQL ne signifie pas que la fonctionnalité en rapport avec ce mot n'est pas implémentée. Réciproquement, la présence d'un mot-clé n'indique pas l'existance d'une fonctionnalité.

Tableau C-1. Mots-clé SQL

Mot-cléPostgreSQLSQL 99SQL 92
ABORTnon réservé  
ABS non réservé 
ABSOLUTEnon réservéréservéréservé
ACCESSnon réservé  
ACTIONnon réservéréservéréservé
ADA non réservénon réservé
ADDnon réservéréservéréservé
ADMIN réservé 
AFTERnon réservéréservé 
AGGREGATEnon réservéréservé 
ALIAS réservé 
ALLréservéréservéréservé
ALLOCATE réservéréservé
ALTERnon réservéréservéréservé
ANALYSEréservé  
ANALYZEréservé  
ANDréservéréservéréservé
ANYréservéréservéréservé
ARE réservéréservé
ARRAYréservéréservé 
ASréservéréservéréservé
ASCréservéréservéréservé
ASENSITIVE non réservé 
ASSERTIONnon réservéréservéréservé
ASSIGNMENTnon réservénon réservé 
ASYMMETRIC non réservé 
ATnon réservéréservéréservé
ATOMIC non réservé 
AUTHORIZATIONréservé (peut être une fonction)réservéréservé
AVG non réservéréservé
BACKWARDnon réservé  
BEFOREnon réservéréservé 
BEGINnon réservéréservéréservé
BETWEENréservé (peut être une fonction)non réservéréservé
BIGINTnon réservé (ne peut pas être une fonction ou un type)  
BINARYréservé (peut être une fonction)réservé 
BITnon réservé (ne peut pas être une fonction ou un type)réservéréservé
BITVAR non réservé 
BIT_LENGTH non réservéréservé
BLOB réservé 
BOOLEANnon réservé (ne peut pas être une fonction ou un type)réservé 
BOTHréservéréservéréservé
BREADTH réservé 
BYnon réservéréservéréservé
C non réservénon réservé
CACHEnon réservé  
CALL réservé 
CALLEDnon réservénon réservé 
CARDINALITY non réservé 
CASCADEnon réservéréservéréservé
CASCADED réservéréservé
CASEréservéréservéréservé
CASTréservéréservéréservé
CATALOG réservéréservé
CATALOG_NAME non réservénon réservé
CHAINnon réservénon réservé 
CHARnon réservé (ne peut pas être une fonction ou un type)réservéréservé
CHARACTERnon réservé (ne peut pas être une fonction ou un type)réservéréservé
CHARACTERISTICSnon réservé  
CHARACTER_LENGTH non réservéréservé
CHARACTER_SET_CATALOG non réservénon réservé
CHARACTER_SET_NAME non réservénon réservé
CHARACTER_SET_SCHEMA non réservénon réservé
CHAR_LENGTH non réservéréservé
CHECKréservéréservéréservé
CHECKED non réservé 
CHECKPOINTnon réservé  
CLASSnon réservéréservé 
CLASS_ORIGIN non réservénon réservé
CLOB réservé 
CLOSEnon réservéréservéréservé
CLUSTERnon réservé  
COALESCEnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
COBOL non réservénon réservé
COLLATEréservéréservéréservé
COLLATION réservéréservé
COLLATION_CATALOG non réservénon réservé
COLLATION_NAME non réservénon réservé
COLLATION_SCHEMA non réservénon réservé
COLUMNréservéréservéréservé
COLUMN_NAME non réservénon réservé
COMMAND_FUNCTION non réservénon réservé
COMMAND_FUNCTION_CODE non réservé 
COMMENTnon réservé  
COMMITnon réservéréservéréservé
COMMITTEDnon réservénon réservénon réservé
COMPLETION réservé 
CONDITION_NUMBER non réservénon réservé
CONNECT réservéréservé
CONNECTION réservéréservé
CONNECTION_NAME non réservénon réservé
CONSTRAINTréservéréservéréservé
CONSTRAINTSnon réservéréservéréservé
CONSTRAINT_CATALOG non réservénon réservé
CONSTRAINT_NAME non réservénon réservé
CONSTRAINT_SCHEMA non réservénon réservé
CONSTRUCTOR réservé 
CONTAINS non réservé 
CONTINUE réservéréservé
CONVERSIONnon réservé  
CONVERTnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
COPYnon réservé  
CORRESPONDING réservéréservé
COUNT non réservéréservé
CREATEréservéréservéréservé
CREATEDBnon réservé  
CREATEUSERnon réservé  
CROSSréservé (peut être une fonction)réservéréservé
CUBE réservé 
CURRENT réservéréservé
CURRENT_DATEréservéréservéréservé
CURRENT_PATH réservé 
CURRENT_ROLE réservé 
CURRENT_TIMEréservéréservéréservé
CURRENT_TIMESTAMPréservéréservéréservé
CURRENT_USERréservéréservéréservé
CURSORnon réservéréservéréservé
CURSOR_NAME non réservénon réservé
CYCLEnon réservéréservé 
DATA réservénon réservé
DATABASEnon réservé  
DATE réservéréservé
DATETIME_INTERVAL_CODE non réservénon réservé
DATETIME_INTERVAL_PRECISION non réservénon réservé
DAYnon réservéréservéréservé
DEALLOCATEnon réservéréservéréservé
DECnon réservé (ne peut pas être une fonction ou un type)réservéréservé
DECIMALnon réservé (ne peut pas être une fonction ou un type)réservéréservé
DECLAREnon réservéréservéréservé
DEFAULTréservéréservéréservé
DEFAULTSnon réservé  
DEFERRABLEréservéréservéréservé
DEFERREDnon réservéréservéréservé
DEFINED non réservé 
DEFINERnon réservénon réservé 
DELETEnon réservéréservéréservé
DELIMITERnon réservé  
DELIMITERSnon réservé  
DEPTH réservé 
DEREF réservé 
DESCréservéréservéréservé
DESCRIBE réservéréservé
DESCRIPTOR réservéréservé
DESTROY réservé 
DESTRUCTOR réservé 
DETERMINISTIC réservé 
DIAGNOSTICS réservéréservé
DICTIONARY réservé 
DISCONNECT réservéréservé
DISPATCH non réservé 
DISTINCTréservéréservéréservé
DOréservé  
DOMAINnon réservéréservéréservé
DOUBLEnon réservéréservéréservé
DROPnon réservéréservéréservé
DYNAMIC réservé 
DYNAMIC_FUNCTION non réservénon réservé
DYNAMIC_FUNCTION_CODE non réservé 
EACHnon réservéréservé 
ELSEréservéréservéréservé
ENCODINGnon réservé  
ENCRYPTEDnon réservé  
ENDréservéréservéréservé
END-EXEC réservéréservé
EQUALS réservé 
ESCAPEnon réservéréservéréservé
EVERY réservé 
EXCEPTréservéréservéréservé
EXCEPTION réservéréservé
EXCLUDINGnon réservé  
EXCLUSIVEnon réservé  
EXEC réservéréservé
EXECUTEnon réservéréservéréservé
EXISTING non réservé 
EXISTSnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
EXPLAINnon réservé  
EXTERNALnon réservéréservéréservé
EXTRACTnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
FALSEréservéréservéréservé
FETCHnon réservéréservéréservé
FINAL non réservé 
FIRSTnon réservéréservéréservé
FLOATnon réservé (ne peut pas être une fonction ou un type)réservéréservé
FORréservéréservéréservé
FORCEnon réservé  
FOREIGNréservéréservéréservé
FORTRAN non réservénon réservé
FORWARDnon réservé  
FOUND réservéréservé
FREE réservé 
FREEZEréservé (peut être une fonction)  
FROMréservéréservéréservé
FULLréservé (peut être une fonction)réservéréservé
FUNCTIONnon réservéréservé 
G non réservé 
GENERAL réservé 
GENERATED non réservé 
GET réservéréservé
GLOBALnon réservéréservéréservé
GO réservéréservé
GOTO réservéréservé
GRANTréservéréservéréservé
GRANTED non réservé 
GROUPréservéréservéréservé
GROUPING réservé 
HANDLERnon réservé  
HAVINGréservéréservéréservé
HIERARCHY non réservé 
HOLDnon réservénon réservé 
HOST réservé 
HOURnon réservéréservéréservé
IDENTITY réservéréservé
IGNORE réservé 
ILIKEréservé (peut être une fonction)  
IMMEDIATEnon réservéréservéréservé
IMMUTABLEnon réservé  
IMPLEMENTATION non réservé 
IMPLICITnon réservé  
INréservé (peut être une fonction)réservéréservé
INCLUDINGnon réservé  
INCREMENTnon réservé  
INDEXnon réservé  
INDICATOR réservéréservé
INFIX non réservé 
INHERITSnon réservé  
INITIALIZE réservé 
INITIALLYréservéréservéréservé
INNERréservé (peut être une fonction)réservéréservé
INOUTnon réservéréservé 
INPUTnon réservéréservéréservé
INSENSITIVEnon réservénon réservéréservé
INSERTnon réservéréservéréservé
INSTANCE non réservé 
INSTANTIABLE non réservé 
INSTEADnon réservé  
INTnon réservé (ne peut pas être une fonction ou un type)réservéréservé
INTEGERnon réservé (ne peut pas être une fonction ou un type)réservéréservé
INTERSECTréservéréservéréservé
INTERVALnon réservé (ne peut pas être une fonction ou un type)réservéréservé
INTOréservéréservéréservé
INVOKERnon réservénon réservé 
ISréservé (peut être une fonction)réservéréservé
ISNULLréservé (peut être une fonction)  
ISOLATIONnon réservéréservéréservé
ITERATE réservé 
JOINréservé (peut être une fonction)réservéréservé
K non réservé 
KEYnon réservéréservéréservé
KEY_MEMBER non réservé 
KEY_TYPE non réservé 
LANCOMPILERnon réservé  
LANGUAGEnon réservéréservéréservé
LARGE réservé 
LASTnon réservéréservéréservé
LATERAL réservé 
LEADINGréservéréservéréservé
LEFTréservé (peut être une fonction)réservéréservé
LENGTH non réservénon réservé
LESS réservé 
LEVELnon réservéréservéréservé
LIKEréservé (peut être une fonction)réservéréservé
LIMITréservéréservé 
LISTENnon réservé  
LOADnon réservé  
LOCALnon réservéréservéréservé
LOCALTIMEréservéréservé 
LOCALTIMESTAMPréservéréservé 
LOCATIONnon réservé  
LOCATOR réservé 
LOCKnon réservé  
LOWER non réservéréservé
M non réservé 
MAP réservé 
MATCHnon réservéréservéréservé
MAX non réservéréservé
MAXVALUEnon réservé  
MESSAGE_LENGTH non réservénon réservé
MESSAGE_OCTET_LENGTH non réservénon réservé
MESSAGE_TEXT non réservénon réservé
METHOD non réservé 
MIN non réservéréservé
MINUTEnon réservéréservéréservé
MINVALUEnon réservé  
MOD non réservé 
MODEnon réservé  
MODIFIES réservé 
MODIFY réservé 
MODULE réservéréservé
MONTHnon réservéréservéréservé
MORE non réservénon réservé
MOVEnon réservé  
MUMPS non réservénon réservé
NAME non réservénon réservé
NAMESnon réservéréservéréservé
NATIONALnon réservéréservéréservé
NATURALréservé (peut être une fonction)réservéréservé
NCHARnon réservé (ne peut pas être une fonction ou un type)réservéréservé
NCLOB réservé 
NEWréservéréservé 
NEXTnon réservéréservéréservé
NOnon réservéréservéréservé
NOCREATEDBnon réservé  
NOCREATEUSERnon réservé  
NONEnon réservé (ne peut pas être une fonction ou un type)réservé 
NOTréservéréservéréservé
NOTHINGnon réservé  
NOTIFYnon réservé  
NOTNULLréservé (peut être une fonction)  
NULLréservéréservéréservé
NULLABLE non réservénon réservé
NULLIFnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
NUMBER non réservénon réservé
NUMERICnon réservé (ne peut pas être une fonction ou un type)réservéréservé
OBJECT réservé 
OCTET_LENGTH non réservéréservé
OFnon réservéréservéréservé
OFFréservéréservé 
OFFSETréservé  
OIDSnon réservé  
OLDréservéréservé 
ONréservéréservéréservé
ONLYréservéréservéréservé
OPEN réservéréservé
OPERATION réservé 
OPERATORnon réservé  
OPTIONnon réservéréservéréservé
OPTIONS non réservé 
ORréservéréservéréservé
ORDERréservéréservéréservé
ORDINALITY réservé 
OUTnon réservéréservé 
OUTERréservé (peut être une fonction)réservéréservé
OUTPUT réservéréservé
OVERLAPSréservé (peut être une fonction)non réservéréservé
OVERLAYnon réservé (ne peut pas être une fonction ou un type)non réservé 
OVERRIDING non réservé 
OWNERnon réservé  
PAD réservéréservé
PARAMETER réservé 
PARAMETERS réservé 
PARAMETER_MODE non réservé 
PARAMETER_NAME non réservé 
PARAMETER_ORDINAL_POSITION non réservé 
PARAMETER_SPECIFIC_CATALOG non réservé 
PARAMETER_SPECIFIC_NAME non réservé 
PARAMETER_SPECIFIC_SCHEMA non réservé 
PARTIALnon réservéréservéréservé
PASCAL non réservénon réservé
PASSWORDnon réservé  
PATHnon réservéréservé 
PENDANTnon réservé  
PLACINGréservé  
PLI non réservénon réservé
POSITIONnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
POSTFIX réservé 
PRECISIONnon réservéréservéréservé
PREFIX réservé 
PREORDER réservé 
PREPAREnon réservéréservéréservé
PRESERVEnon réservéréservéréservé
PRIMARYréservéréservéréservé
PRIORnon réservéréservéréservé
PRIVILEGESnon réservéréservéréservé
PROCEDURALnon réservé  
PROCEDUREnon réservéréservéréservé
PUBLIC réservéréservé
READnon réservéréservéréservé
READS réservé 
REALnon réservé (ne peut pas être une fonction ou un type)réservéréservé
RECHECKnon réservé  
RECURSIVE réservé 
REF réservé 
REFERENCESréservéréservéréservé
REFERENCING réservé 
REINDEXnon réservé  
RELATIVEnon réservéréservéréservé
RENAMEnon réservé  
REPEATABLE non réservénon réservé
REPLACEnon réservé  
RESETnon réservé  
RESTARTnon réservé  
RESTRICTnon réservéréservéréservé
RESULT réservé 
RETURN réservé 
RETURNED_LENGTH non réservénon réservé
RETURNED_OCTET_LENGTH non réservénon réservé
RETURNED_SQLSTATE non réservénon réservé
RETURNSnon réservéréservé 
REVOKEnon réservéréservéréservé
RIGHTréservé (peut être une fonction)réservéréservé
ROLE réservé 
ROLLBACKnon réservéréservéréservé
ROLLUP réservé 
ROUTINE réservé 
ROUTINE_CATALOG non réservé 
ROUTINE_NAME non réservé 
ROUTINE_SCHEMA non réservé 
ROWnon réservé (ne peut pas être une fonction ou un type)réservé 
ROWSnon réservéréservéréservé
ROW_COUNT non réservénon réservé
RULEnon réservé  
SAVEPOINT réservé 
SCALE non réservénon réservé
SCHEMAnon réservéréservéréservé
SCHEMA_NAME non réservénon réservé
SCOPE réservé 
SCROLLnon réservéréservéréservé
SEARCH réservé 
SECONDnon réservéréservéréservé
SECTION réservéréservé
SECURITYnon réservénon réservé 
SELECTréservéréservéréservé
SELF non réservé 
SENSITIVE non réservé 
SEQUENCEnon réservéréservé 
SERIALIZABLEnon réservénon réservénon réservé
SERVER_NAME non réservénon réservé
SESSIONnon réservéréservéréservé
SESSION_USERréservéréservéréservé
SETnon réservéréservéréservé
SETOFnon réservé (ne peut pas être une fonction ou un type)  
SETS réservé 
SHAREnon réservé  
SHOWnon réservé  
SIMILARréservé (peut être une fonction)non réservé 
SIMPLEnon réservénon réservé 
SIZE réservéréservé
SMALLINTnon réservé (ne peut pas être une fonction ou un type)réservéréservé
SOMEréservéréservéréservé
SOURCE non réservé 
SPACE réservéréservé
SPECIFIC réservé 
SPECIFICTYPE réservé 
SPECIFIC_NAME non réservé 
SQL réservéréservé
SQLCODE  réservé
SQLERROR  réservé
SQLEXCEPTION réservé 
SQLSTATE réservéréservé
SQLWARNING réservé 
STABLEnon réservé  
STARTnon réservéréservé 
STATE réservé 
STATEMENTnon réservéréservé 
STATIC réservé 
STATISTICSnon réservé  
STDINnon réservé  
STDOUTnon réservé  
STORAGEnon réservé  
STRICTnon réservé  
STRUCTURE réservé 
STYLE non réservé 
SUBCLASS_ORIGIN non réservénon réservé
SUBLIST non réservé 
SUBSTRINGnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
SUM non réservéréservé
SYMMETRIC non réservé 
SYSIDnon réservé  
SYSTEM non réservé 
SYSTEM_USER réservéréservé
TABLEréservéréservéréservé
TABLE_NAME non réservénon réservé
TEMPnon réservé  
TEMPLATEnon réservé  
TEMPORARYnon réservéréservéréservé
TERMINATE réservé 
THAN réservé 
THENréservéréservéréservé
TIMEnon réservé (ne peut pas être une fonction ou un type)réservéréservé
TIMESTAMPnon réservé (ne peut pas être une fonction ou un type)réservéréservé
TIMEZONE_HOUR réservéréservé
TIMEZONE_MINUTE réservéréservé
TOréservéréservéréservé
TOASTnon réservé  
TRAILINGréservéréservéréservé
TRANSACTIONnon réservéréservéréservé
TRANSACTIONS_COMMITTED non réservé 
TRANSACTIONS_ROLLED_BACK non réservé 
TRANSACTION_ACTIVE non réservé 
TRANSFORM non réservé 
TRANSFORMS non réservé 
TRANSLATE non réservéréservé
TRANSLATION réservéréservé
TREATnon réservé (ne peut pas être une fonction ou un type)réservé 
TRIGGERnon réservéréservé 
TRIGGER_CATALOG non réservé 
TRIGGER_NAME non réservé 
TRIGGER_SCHEMA non réservé 
TRIMnon réservé (ne peut pas être une fonction ou un type)non réservéréservé
TRUEréservéréservéréservé
TRUNCATEnon réservé  
TRUSTEDnon réservé  
TYPEnon réservénon réservénon réservé
UNCOMMITTED non réservénon réservé
UNDER réservé 
UNENCRYPTEDnon réservé  
UNIONréservéréservéréservé
UNIQUEréservéréservéréservé
UNKNOWNnon réservéréservéréservé
UNLISTENnon réservé  
UNNAMED non réservénon réservé
UNNEST réservé 
UNTILnon réservé  
UPDATEnon réservéréservéréservé
UPPER non réservéréservé
USAGEnon réservéréservéréservé
USERréservéréservéréservé
USER_DEFINED_TYPE_CATALOG non réservé 
USER_DEFINED_TYPE_NAME non réservé 
USER_DEFINED_TYPE_SCHEMA non réservé 
USINGréservéréservéréservé
VACUUMnon réservé  
VALIDnon réservé  
VALIDATORnon réservé  
VALUE réservéréservé
VALUESnon réservéréservéréservé
VARCHARnon réservé (ne peut pas être une fonction ou un type)réservéréservé
VARIABLE réservé 
VARYINGnon réservéréservéréservé
VERBOSEréservé (peut être une fonction)  
VERSIONnon réservé  
VIEWnon réservéréservéréservé
VOLATILEnon réservé  
WHENréservéréservéréservé
WHENEVER réservéréservé
WHEREréservéréservéréservé
WITHnon réservéréservéréservé
WITHOUTnon réservéréservé 
WORKnon réservéréservéréservé
WRITEnon réservéréservéréservé
YEARnon réservéréservéréservé
ZONEnon réservéréservéréservé