SQL compliance

FunctionDescriptionFirebirdIBM DB2Oracle DatabaseMicrosoft SQLMySQLPostgreSQLSQLiteApache Ignite
E011Numeric data typesPartialYesYesUnknownUnknownYesUnknownPartial
E011–01INTEGER and SMALLINT data types (including all spellings)YesYesYesUnknownUnknownYesUnknownYes
E011–02REAL, DOUBLE PRECISION, and FLOAT data typesYesYesYesUnknownUnknownYesUnknownYes
E011–03DECIMAL and NUMERIC data typesPartialYesYesUnknownUnknownYesUnknownPartial
E011–04Arithmetic operatorsYesYesYesUnknownUnknownYesUnknownPartial
E011–05Numeric comparisonYesYesYesUnknownUnknownYesUnknownYes
E011–06Implicit casting among the numeric data typesYesYesYesUnknownUnknownYesUnknownYes
E021Character string typesYesUnknownPartialUnknownUnknownPartialUnknownPartial
E021–01CHARACTER data type (including all its spellings)YesUnknownYesUnknownUnknownYesUnknownPartial
E021–02CHARACTER VARYING data type (including all its spellings)YesUnknownPartialUnknownUnknownYesUnknownPartial
E021–03Character literalsYesYesPartialUnknownUnknownYesUnknownYes
E021–04CHARACTER_LENGTH functionYesUnknownUnknownUnknownUnknownPartialUnknownYes
E021–05OCTET_LENGTH functionYesUnknownUnknownUnknownUnknownYesUnknownYes
E021–06SUBSTRING functionYesYesUnknownUnknownUnknownYesUnknownYes
E021–07Character concatenationYesYesYesUnknownUnknownYesUnknownYes
E021–08UPPER and LOWER functionsYesYesYesUnknownUnknownYesUnknownYes
E021–09TRIM functionYesYesYesUnknownUnknownYesUnknownYes
E021–10Implicit casting among the fixed-length and variable-length character string typesYesUnknownYesUnknownUnknownYesUnknownYes
E021–11POSITION functionYesUnknownUnknownUnknownUnknownYesUnknownYes
E021–12Character comparisonYesYesPartialUnknownUnknownYesUnknownYes
E031IdentifiersYesUnknownUnknownUnknownUnknownYesUnknownYes
E031–01Delimited identifiersYesUnknownUnknownUnknownUnknownYesUnknownYes
E031–02Lower case identifiersYesUnknownUnknownUnknownUnknownYesUnknownYes
E031–03Trailing underscoreYesUnknownUnknownUnknownUnknownYesUnknownYes
E051Basic query specificationPartialUnknownUnknownUnknownUnknownYesUnknownPartial
E051–01SELECT DISTINCTYesYesYesUnknownUnknownYesUnknownYes
E051–02GROUP BY clauseYesYesYesUnknownUnknownYesUnknownPartial
E051–04GROUP BY can contain columns not in <select-list>YesUnknownYesUnknownUnknownYesUnknownYes
E051–05Select list items can be renamedYesYesYesUnknownUnknownYesUnknownYes
E051–06HAVING clauseYesYesYesUnknownUnknownYesUnknownYes
E051–07Qualified * in select listYesYesYesUnknownUnknownYesUnknownYes
E051–08Correlation names in the FROM clauseYesUnknownPartialUnknownUnknownYesUnknownYes
E051–09Rename columns in the FROM clauseNoUnknownUnknownUnknownUnknownYesUnknownNo
E061Basic predicates and search conditionsYesUnknownPartialUnknownUnknownYesUnknownPartial
E061–01Comparison predicateYesUnknownPartialUnknownUnknownYesUnknownYes
E061–02BETWEEN predicateYesYesPartialUnknownUnknownYesUnknownYes
E061–03IN predicate with list of valuesYesYesPartialUnknownUnknownYesUnknownYes
E061–04LIKE predicateYesYesPartialUnknownUnknownYesUnknownPartial
E061–05LIKE predicate: ESCAPE clauseYesUnknownPartialUnknownUnknownYesUnknownPartial
E061–06NULL predicateYesYesPartialUnknownUnknownYesUnknownYes
E061–07Quantified comparison predicateYesUnknownPartialUnknownUnknownYesUnknownPartial
E061–08EXISTS predicateYesYesPartialUnknownUnknownYesUnknownYes
E061–09Subqueries in comparison predicateYesYesPartialUnknownUnknownYesUnknownYes
E061–11Subqueries in IN predicateYesYesPartialUnknownUnknownYesUnknownYes
E061–12Subqueries in quantified comparison predicateYesUnknownPartialUnknownUnknownYesUnknownNo
E061–13Correlated subqueriesYesUnknownPartialUnknownUnknownYesUnknownYes
E061–14Search conditionYesUnknownPartialUnknownUnknownYesUnknownYes
E071Basic query expressionsPartialUnknownPartialUnknownUnknownYesUnknownPartial
E071–01UNION DISTINCT table operatorYesYesYesUnknownUnknownYesUnknownYes
E071–02UNION ALL table operatorYesYesYesUnknownUnknownYesUnknownYes
E071–03EXCEPT DISTINCT table operatorNoUnknownUnknownUnknownUnknownYesUnknownYes
E071–05Columns combined via table operators need not have exactly the same data typeYesUnknownYesUnknownUnknownYesUnknownYes
E071–06Table operators in subqueriesYesUnknownYesUnknownUnknownYesUnknownYes
E081Basic PrivilegesYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–01SELECT privilege at the table levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–02DELETE privilegeYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–03INSERT privilege at the table levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–04UPDATE privilege at the table levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–05UPDATE privilege at the column levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–06REFERENCES privilege at the table levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–07REFERENCES privilege at the column levelYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–08WITH GRANT OPTIONYesUnknownYesUnknownUnknownYesUnknownUnknown
E081–09USAGE privilegeYesUnknownNoUnknownUnknownYesUnknownUnknown
E081–10EXECUTE privilegeYesUnknownYesUnknownUnknownYesUnknownUnknown
E091Set functionsYesUnknownYesUnknownUnknownYesUnknownPartial
E091–01AVGYesYesYesUnknownUnknownYesUnknownYes
E091–02COUNTYesYesYesUnknownUnknownYesUnknownYes
E091–03MAXYesYesYesUnknownUnknownYesUnknownYes
E091–04MINYesYesYesUnknownUnknownYesUnknownYes
E091–05SUMYesYesYesUnknownUnknownYesUnknownYes
E091–06ALL quantifierYesUnknownYesUnknownUnknownYesUnknownYes
E091–07DISTINCT quantifierYesYesYesUnknownUnknownYesUnknownYes
E101Basic data manipulationYesUnknownYesUnknownUnknownYesUnknownPartial
E101–01INSERT statementYesUnknownYesUnknownUnknownYesUnknownPartial
E101–03Searched UPDATE statementYesUnknownYesUnknownUnknownYesUnknownYes
E101–04Searched DELETE statementYesUnknownYesUnknownUnknownYesUnknownYes
E111Single row SELECT statementYesUnknownYesUnknownUnknownYesUnknownUnknown
E121Basic cursor supportPartialUnknownPartialUnknownUnknownYesUnknownNo
E121–01DECLARE CURSORYesUnknownPartialUnknownUnknownYesUnknownNo
E121–02ORDER BY columns need not be in select listYesUnknownYesUnknownUnknownYesUnknownNo
E121–03Value expressions in ORDER BY clauseYesUnknownYesUnknownUnknownYesUnknownNo
E121–04OPEN statementYesUnknownYesUnknownUnknownYesUnknownNo
E121–06Positioned UPDATE statementYesUnknownYesUnknownUnknownYesUnknownNo
E121–07Positioned DELETE statementYesUnknownYesUnknownUnknownYesUnknownNo
E121–08CLOSE statementYesUnknownYesUnknownUnknownYesUnknownNo
E121–10FETCH statement: implicit NEXTYesUnknownPartialUnknownUnknownYesUnknownNo
E121–17WITH HOLD cursorsNoUnknownUnknownUnknownUnknownYesUnknownNo
E131Null value support (nulls in lieu of values)YesUnknownUnknownUnknownUnknownYesUnknownYes
E141Basic integrity constraintsPartialUnknownYesUnknownUnknownYesUnknownPartial
E141–01NOT NULL constraintsYesUnknownYesUnknownUnknownYesUnknownYes
E141–02UNIQUE constraints of NOT NULL columnsYesUnknownYesUnknownUnknownYesUnknownNo
E141–03PRIMARY KEY constraintsYesUnknownYesUnknownUnknownYesUnknownPartial
E141–04Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update actionYesUnknownYesUnknownUnknownYesUnknownNo
E141–06CHECK constraintsYesUnknownYesUnknownUnknownYesUnknownNo
E141–07Column defaultsYesUnknownYesUnknownUnknownYesUnknownNo
E141–08NOT NULL inferred on PRIMARY KEYYesUnknownYesUnknownUnknownYesUnknownPartial
E141–10Names in a foreign key can be specified in any orderNoUnknownYesUnknownUnknownYesUnknownNo
E151Transaction supportPartialUnknownYesUnknownUnknownYesUnknownNo
E151–01COMMIT statementYesUnknownYesUnknownUnknownYesUnknownNo
E151–02ROLLBACK statementYesUnknownYesUnknownUnknownYesUnknownNo
E152Basic SET TRANSACTION statementPartialUnknownYesUnknownUnknownYesUnknownNo
E152–01SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clauseNoUnknownYesUnknownUnknownYesUnknownNo
E152–02SET TRANSACTION statement: READ ONLY and READ WRITE clausesYesUnknownYesUnknownUnknownYesUnknownNo
E*OtherPartialUnknownPartialUnknownUnknownPartialUnknownUnknown
E153Updatable queries with subqueriesYesUnknownYesUnknownUnknownYesUnknownYes
E161SQL comments using leading double minusYesUnknownYesUnknownUnknownYesUnknownYes
E171SQLSTATE supportPartialUnknownYesUnknownUnknownYesUnknownPartial
E182"Host language Binding (previously ""Module Language"")"NoUnknownUnknownUnknownUnknownNoUnknownNo
F021Basic information schemaNoNoNoYesYes[1]YesNoNo
F021–01COLUMNS viewNoNoNoYesYes[note 1]YesNoNo
F021–02TABLES viewNoNoNoYesYes[note 1]YesNoNo
F021–03VIEWS viewNoNoNoYesYes[note 1]YesNoNo
F021–04TABLE_CONSTRAINTS viewNoNoNoYesYesYesNoNo
F021–05REFERENTIAL_CONSTRAINTS viewNoNoNoYesYesYesNoNo
F021–06CHECK_CONSTRAINTS viewNoNoNoYesYesYesNoNo
F031Basic schema manipulationPartialUnknownPartialUnknownUnknownYesUnknownPartial
F031–01CREATE TABLE statement to create persistent base tablesYesUnknownYesUnknownUnknownYesUnknownYes
F031–02CREATE VIEW statementYesUnknownYesUnknownUnknownYesUnknownNo
F031–03GRANT statementYesUnknownYesUnknownUnknownYesUnknownNo
F031–04ALTER TABLE statement: ADD COLUMN clauseYesUnknownUnknownUnknownUnknownYesUnknownYes
F031–13DROP TABLE statement: RESTRICT clausePartialUnknownNoUnknownUnknownYesUnknownNo
F031–16DROP VIEW statement: RESTRICT clauseUnknownUnknownNoUnknownUnknownYesUnknownNo
F031–19REVOKE statement: RESTRICT clausePartialUnknownNoUnknownUnknownYesUnknownNo
F041Basic joined tableYesUnknownYesUnknownUnknownYesUnknownYes
F041–01Inner join (but not necessarily the INNER keyword)YesUnknownYesUnknownUnknownYesUnknownYes
F041–02INNER keywordYesUnknownYesUnknownUnknownYesUnknownYes
F041–03LEFT OUTER JOINYesUnknownYesUnknownUnknownYesUnknownYes
F041–04RIGHT OUTER JOINYesUnknownYesUnknownUnknownYesUnknownYes
F041–05Outer joins can be nestedYesUnknownYesUnknownUnknownYesUnknownYes
F041–07The inner table in a left or right outer join can also be used in an inner joinYesUnknownYesUnknownUnknownYesUnknownYes
F041–08All comparison operators are supported (rather than just =)YesUnknownYesUnknownUnknownYesUnknownYes
F051Basic date and timePartialUnknownYesUnknownUnknownYesUnknownPartial
F051–01DATE data type (including support of DATE literal)YesUnknownYesUnknownUnknownYesUnknownPartial
F051–02TIME data type (including support of TIME literal) with fractional seconds precision of at least 0YesUnknownNoUnknownUnknownYesUnknownPartial
F051–03TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6YesUnknownYesUnknownUnknownYesUnknownPartial
F051–04Comparison predicate on DATE, TIME, and TIMESTAMP data typesYesUnknownYesUnknownUnknownYesUnknownYes
F051–05Explicit CAST between datetime types and character string typesYesUnknownYesUnknownUnknownYesUnknownYes
F051–06CURRENT_DATEYesUnknownYesUnknownUnknownYesUnknownYes
F051–07LOCALTIMEPartialUnknownNoUnknownUnknownYesUnknownYes
F051–08LOCALTIMESTAMPPartialUnknownYesUnknownUnknownYesUnknownYes
F081UNION and EXCEPT in viewsPartialUnknownUnknownUnknownUnknownYesUnknownNo
F131Grouped operationsYesUnknownYesUnknownUnknownYesUnknownNo
F131–01WHERE, GROUP BY, and HAVING clauses supported in queries with grouped viewsYesUnknownYesUnknownUnknownYesUnknownNo
F131–02Multiple tables supported in queries with grouped viewsYesUnknownYesUnknownUnknownYesUnknownNo
F131–03Set functions supported in queries with grouped viewsYesUnknownYesUnknownUnknownYesUnknownNo
F131–04Subqueries with GROUP BY and HAVING clauses and grouped viewsYesUnknownYesUnknownUnknownYesUnknownNo
F131–05Single row SELECT with GROUP BY and HAVING clauses and grouped viewsYesUnknownYesUnknownUnknownYesUnknownNo
F*OtherPartialUnknownPartialUnknownUnknownPartialUnknownUnknown
F181Multiple module supportNoUnknownYesUnknownUnknownNoUnknownNo
F201CAST functionYesUnknownYesUnknownUnknownYesUnknownYes
F221Explicit defaultsNoUnknownUnknownUnknownUnknownYesUnknownYes
F261CASE expressionYesUnknownYesUnknownUnknownYesUnknownYes
F261–01Simple CASEYesUnknownYesUnknownUnknownYesUnknownYes
F261–02Searched CASEYesUnknownYesUnknownUnknownYesUnknownYes
F261–03NULLIFYesUnknownYesUnknownUnknownYesUnknownYes
F261–04COALESCEYesUnknownYesUnknownUnknownYesUnknownYes
F311Schema definition statementNoUnknownYesUnknownUnknownYesUnknownNo
F311-01CREATE SCHEMANoUnknownYesUnknownUnknownYesUnknownNo
F311-02CREATE TABLE for persistent base tablesNoUnknownYesUnknownUnknownYesUnknownNo
F311-03CREATE VIEWNoUnknownYesUnknownUnknownYesUnknownNo
F311-04CREATE VIEW: WITH CHECK OPTIONNoUnknownYesUnknownUnknownYesUnknownNo
F311-05GRANT statementNoUnknownYesUnknownUnknownYesUnknownNo
F471Scalar subquery valuesYesUnknownYesUnknownUnknownYesUnknownYes
F481Expanded NULL predicateYesUnknownYesUnknownUnknownYesUnknownYes
F501Features and conformance viewsUnknownUnknownNoUnknownUnknownYesUnknownNo
F501–01SQL_FEATURES viewUnknownUnknownUnknownUnknownUnknownYesUnknownNo
F501–02SQL_SIZING viewUnknownUnknownUnknownUnknownUnknownYesUnknownNo
F501–03SQL_LANGUAGES viewUnknownUnknownUnknownUnknownUnknownYesUnknownNo
F812Basic flaggingNoUnknownSQL-92UnknownUnknownNoUnknownNo
S011Distinct data typesNoUnknownUnknownUnknownUnknownNoUnknownNo
S011–01USER_DEFINED_TYPES viewUnknownUnknownUnknownUnknownUnknownNoUnknownNo
T321Basic SQL-invoked routinesPartialUnknownPartialUnknownUnknownPartialUnknownNo
T321-01User-defined functions with no overloadingYesUnknownUnknownUnknownUnknownYesUnknownNo
T321-02User-defined stored procedures with no overloadingYesUnknownUnknownUnknownUnknownYesUnknownNo
T321-03Function invocationYesUnknownYesUnknownUnknownYesUnknownNo
T321-04CALL statementPartialUnknownYesUnknownUnknownYesUnknownNo
T321-05RETURN statementPartialUnknownUnknownUnknownUnknownNoUnknownNo
T321-06ROUTINES viewUnknownUnknownUnknownUnknownUnknownYesUnknownNo
T321-07PARAMETERS viewUnknownUnknownUnknownUnknownUnknownYesUnknownNo
T631IN predicate with one list elementYesUnknownYesUnknownUnknownYesUnknownNo

Footnotes

  1. 1 2 3 Also includes MySQL-specific extension columns

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.