SQL compliance

Function Description Firebird IBM DB2 Oracle Database Microsoft SQL MySQL PostgreSQL SQLite
E011 Numeric data types Partial Unknown Yes Unknown Unknown Yes Unknown
E011–01 INTEGER and SMALLINT data types (including all spellings) Yes Unknown Yes Unknown Unknown Yes Unknown
E011–02 REAL, DOUBLE PRECISION, and FLOAT data types Yes Unknown Yes Unknown Unknown Yes Unknown
E011–03 DECIMAL and NUMERIC data types Partial Unknown Yes Unknown Unknown Yes Unknown
E011–04 Arithmetic operators Yes Unknown Yes Unknown Unknown Yes Unknown
E011–05 Numeric comparison Yes Unknown Yes Unknown Unknown Yes Unknown
E011–06 Implicit casting among the numeric data types Yes Unknown Yes Unknown Unknown Yes Unknown
E021 Character string types Partial Unknown Partial Unknown Unknown Partial Unknown
E021–01 CHARACTER data type (including all its spellings) Yes Unknown Yes Unknown Unknown Yes Unknown
E021–02 CHARACTER VARYING data type (including all its spellings) Yes Unknown Partial Unknown Unknown Yes Unknown
E021–03 Character literals Yes Unknown Partial Unknown Unknown Yes Unknown
E021–04 CHARACTER_LENGTH function Yes Unknown Unknown Unknown Unknown Partial Unknown
E021–05 OCTET_LENGTH function Yes Unknown Unknown Unknown Unknown Yes Unknown
E021–06 SUBSTRING function Yes Unknown Unknown Unknown Unknown Yes Unknown
E021–07 Character concatenation Yes Unknown Yes Unknown Unknown Yes Unknown
E021–08 UPPER and LOWER functions Yes Unknown Yes Unknown Unknown Yes Unknown
E021–09 TRIM function Yes Unknown Yes Unknown Unknown Yes Unknown
E021–10 Implicit casting among the fixed-length and variable-length character string types Yes Unknown Yes Unknown Unknown Yes Unknown
E021–11 POSITION function No Unknown Unknown Unknown Unknown Yes Unknown
E021–12 Character comparison Yes Unknown Partial Unknown Unknown Yes Unknown
E031 Identifiers Yes Unknown Unknown Unknown Unknown Yes Unknown
E031–01 Delimited identifiers Yes Unknown Unknown Unknown Unknown Yes Unknown
E031–02 Lower case identifiers Yes Unknown Unknown Unknown Unknown Yes Unknown
E031–03 Trailing underscore Yes Unknown Unknown Unknown Unknown Yes Unknown
E051 Basic query specification Partial Unknown Unknown Unknown Unknown Yes Unknown
E051–01 SELECT DISTINCT Yes Unknown Yes Unknown Unknown Yes Unknown
E051–02 GROUP BY clause Yes Unknown Yes Unknown Unknown Yes Unknown
E051–04 GROUP BY can contain columns not in <select-list> Yes Unknown Yes Unknown Unknown Yes Unknown
E051–05 Select list items can be renamed Yes Unknown Yes Unknown Unknown Yes Unknown
E051–06 HAVING clause Yes Unknown Yes Unknown Unknown Yes Unknown
E051–07 Qualified * in select list Yes Unknown Yes Unknown Unknown Yes Unknown
E051–08 Correlation names in the FROM clause Yes Unknown Partial Unknown Unknown Yes Unknown
E051–09 Rename columns in the FROM clause No Unknown Unknown Unknown Unknown Yes Unknown
E061 Basic predicates and search conditions Yes Unknown Partial Unknown Unknown Yes Unknown
E061–01 Comparison predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–02 BETWEEN predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–03 IN predicate with list of values Yes Unknown Partial Unknown Unknown Yes Unknown
E061–04 LIKE predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–05 LIKE predicate: ESCAPE clause Yes Unknown Partial Unknown Unknown Yes Unknown
E061–06 NULL predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–07 Quantified comparison predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–08 EXISTS predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–09 Subqueries in comparison predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–11 Subqueries in IN predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–12 Subqueries in quantified comparison predicate Yes Unknown Partial Unknown Unknown Yes Unknown
E061–13 Correlated subqueries Yes Unknown Partial Unknown Unknown Yes Unknown
E061–14 Search condition Yes Unknown Partial Unknown Unknown Yes Unknown
E071 Basic query expressions Partial Unknown Partial Unknown Unknown Yes Unknown
E071–01 UNION DISTINCT table operator Yes Unknown Yes Unknown Unknown Yes Unknown
E071–02 UNION ALL table operator Yes Unknown Yes Unknown Unknown Yes Unknown
E071–03 EXCEPT DISTINCT table operator No Unknown Unknown Unknown Unknown Yes Unknown
E071–05 Columns combined via table operators need not have exactly the same data type Yes Unknown Yes Unknown Unknown Yes Unknown
E071–06 Table operators in subqueries Yes Unknown Yes Unknown Unknown Yes Unknown
E081 Basic Privileges Partial Unknown Yes Unknown Unknown Yes Unknown
E081–01 SELECT privilege at the table level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–02 DELETE privilege Yes Unknown Yes Unknown Unknown Yes Unknown
E081–03 INSERT privilege at the table level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–04 UPDATE privilege at the table level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–05 UPDATE privilege at the column level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–06 REFERENCES privilege at the table level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–07 REFERENCES privilege at the column level Yes Unknown Yes Unknown Unknown Yes Unknown
E081–08 WITH GRANT OPTION Yes Unknown Yes Unknown Unknown Yes Unknown
E081–09 USAGE privilege No Unknown No Unknown Unknown Yes Unknown
E081–10 EXECUTE privilege Yes Unknown Yes Unknown Unknown Yes Unknown
E091 Set functions Yes Unknown Yes Unknown Unknown Yes Unknown
E091–01 AVG Yes Unknown Yes Unknown Unknown Yes Unknown
E091–02 COUNT Yes Unknown Yes Unknown Unknown Yes Unknown
E091–03 MAX Yes Unknown Yes Unknown Unknown Yes Unknown
E091–04 MIN Yes Unknown Yes Unknown Unknown Yes Unknown
E091–05 SUM Yes Unknown Yes Unknown Unknown Yes Unknown
E091–06 ALL quantifier Yes Unknown Yes Unknown Unknown Yes Unknown
E091–07 DISTINCT quantifier Yes Unknown Yes Unknown Unknown Yes Unknown
E101 Basic data manipulation Yes Unknown Yes Unknown Unknown Yes Unknown
E101–01 INSERT statement Yes Unknown Yes Unknown Unknown Yes Unknown
E101–03 Searched UPDATE statement Yes Unknown Yes Unknown Unknown Yes Unknown
E101–04 Searched DELETE statement Yes Unknown Yes Unknown Unknown Yes Unknown
E111 Single row SELECT statement Yes Unknown Yes Unknown Unknown Yes Unknown
E121 Basic cursor support Partial Unknown Partial Unknown Unknown Yes Unknown
E121–01 DECLARE CURSOR Yes Unknown Partial Unknown Unknown Yes Unknown
E121–02 ORDER BY columns need not be in select list Yes Unknown Yes Unknown Unknown Yes Unknown
E121–03 Value expressions in ORDER BY clause Yes Unknown Yes Unknown Unknown Yes Unknown
E121–04 OPEN statement Yes Unknown Yes Unknown Unknown Yes Unknown
E121–06 Positioned UPDATE statement Yes Unknown Yes Unknown Unknown Yes Unknown
E121–07 Positioned DELETE statement Yes Unknown Yes Unknown Unknown Yes Unknown
E121–08 CLOSE statement Yes Unknown Yes Unknown Unknown Yes Unknown
E121–10 FETCH statement: implicit NEXT Yes Unknown Partial Unknown Unknown Yes Unknown
E121–17 WITH HOLD cursors No Unknown Unknown Unknown Unknown Yes Unknown
E131 Null value support (nulls in lieu of values) Yes Unknown Unknown Unknown Unknown Yes Unknown
E141 Basic integrity constraints Partial Unknown Yes Unknown Unknown Yes Unknown
E141–01 NOT NULL constraints Yes Unknown Yes Unknown Unknown Yes Unknown
E141–02 UNIQUE constraints of NOT NULL columns Yes Unknown Yes Unknown Unknown Yes Unknown
E141–03 PRIMARY KEY constraints Yes Unknown Yes Unknown Unknown Yes Unknown
E141–04 Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action Yes Unknown Yes Unknown Unknown Yes Unknown
E141–06 CHECK constraints Yes Unknown Yes Unknown Unknown Yes Unknown
E141–07 Column defaults Yes Unknown Yes Unknown Unknown Yes Unknown
E141–08 NOT NULL inferred on PRIMARY KEY Yes Unknown Yes Unknown Unknown Yes Unknown
E141–10 Names in a foreign key can be specified in any order No Unknown Yes Unknown Unknown Yes Unknown
E151 Transaction support Yes Unknown Yes Unknown Unknown Yes Unknown
E151–01 COMMIT statement Yes Unknown Yes Unknown Unknown Yes Unknown
E151–02 ROLLBACK statement Yes Unknown Yes Unknown Unknown Yes Unknown
E152 Basic SET TRANSACTION statement Partial Unknown Yes Unknown Unknown Yes Unknown
E152–01 SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause No Unknown Yes Unknown Unknown Yes Unknown
E152–02 SET TRANSACTION statement: READ ONLY and READ WRITE clauses Yes Unknown Yes Unknown Unknown Yes Unknown
E153 Updatable queries with subqueries Yes Unknown Yes Unknown Unknown Yes Unknown
E161 SQL comments using leading double minus Yes Unknown Yes Unknown Unknown Yes Unknown
E171 SQLSTATE support Partial Unknown Yes Unknown Unknown Yes Unknown
E182 "Host language Binding (previously ""Module Language"")" No Unknown Unknown Unknown Unknown No Unknown
F021 Basic information schema No No No Yes Yes[1] Yes No
F021–01 COLUMNS view No No No Yes Yes[note 1] Yes No
F021–02 TABLES view No No No Yes Yes[note 1] Yes No
F021–03 VIEWS view No No No Yes Yes[note 1] Yes No
F021–04 TABLE_CONSTRAINTS view No No No Yes Yes Yes No
F021–05 REFERENTIAL_CONSTRAINTS view No No No Yes Yes Yes No
F021–06 CHECK_CONSTRAINTS view No No No Yes Yes Yes No
F031 Basic schema manipulation Partial Unknown Partial Unknown Unknown Yes Unknown
F031–01 CREATE TABLE statement to create persistent base tables Yes Unknown Yes Unknown Unknown Yes Unknown
F031–02 CREATE VIEW statement Yes Unknown Yes Unknown Unknown Yes Unknown
F031–03 GRANT statement Yes Unknown Yes Unknown Unknown Yes Unknown
F031–04 ALTER TABLE statement: ADD COLUMN clause Yes Unknown Unknown Unknown Unknown Yes Unknown
F031–13 DROP TABLE statement: RESTRICT clause Partial Unknown No Unknown Unknown Yes Unknown
F031–16 DROP VIEW statement: RESTRICT clause Unknown Unknown No Unknown Unknown Yes Unknown
F031–19 REVOKE statement: RESTRICT clause Partial Unknown No Unknown Unknown Yes Unknown
F041 Basic joined table Yes Unknown Yes Unknown Unknown Yes Unknown
F041–01 Inner join (but not necessarily the INNER keyword) Yes Unknown Yes Unknown Unknown Yes Unknown
F041–02 INNER keyword Yes Unknown Yes Unknown Unknown Yes Unknown
F041–03 LEFT OUTER JOIN Yes Unknown Yes Unknown Unknown Yes Unknown
F041–04 RIGHT OUTER JOIN Yes Unknown Yes Unknown Unknown Yes Unknown
F041–05 Outer joins can be nested Yes Unknown Yes Unknown Unknown Yes Unknown
F041–07 The inner table in a left or right outer join can also be used in an inner join Yes Unknown Yes Unknown Unknown Yes Unknown
F041–08 All comparison operators are supported (rather than just =) Yes Unknown Yes Unknown Unknown Yes Unknown
F051 Basic date and time Partial Unknown Yes Unknown Unknown Yes Unknown
F051–01 DATE data type (including support of DATE literal) Yes Unknown Yes Unknown Unknown Yes Unknown
F051–02 TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 Yes Unknown No Unknown Unknown Yes Unknown
F051–03 TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 Yes Unknown Yes Unknown Unknown Yes Unknown
F051–04 Comparison predicate on DATE, TIME, and TIMESTAMP data types Yes Unknown Yes Unknown Unknown Yes Unknown
F051–05 Explicit CAST between datetime types and character string types Yes Unknown Yes Unknown Unknown Yes Unknown
F051–06 CURRENT_DATE Yes Unknown Yes Unknown Unknown Yes Unknown
F051–07 LOCALTIME Partial Unknown No Unknown Unknown Yes Unknown
F051–08 LOCALTIMESTAMP Partial Unknown Yes Unknown Unknown Yes Unknown
F081 UNION and EXCEPT in views Partial Unknown Unknown Unknown Unknown Yes Unknown
F131 Grouped operations Yes Unknown Yes Unknown Unknown Yes Unknown
F131–01 WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views Yes Unknown Yes Unknown Unknown Yes Unknown
F131–02 Multiple tables supported in queries with grouped views Yes Unknown Yes Unknown Unknown Yes Unknown
F131–03 Set functions supported in queries with grouped views Yes Unknown Yes Unknown Unknown Yes Unknown
F131–04 Subqueries with GROUP BY and HAVING clauses and grouped views Yes Unknown Yes Unknown Unknown Yes Unknown
F131–05 Single row SELECT with GROUP BY and HAVING clauses and grouped views Yes Unknown Yes Unknown Unknown Yes Unknown
F181 Multiple module support No Unknown Yes Unknown Unknown No Unknown
F201 CAST function Yes Unknown Yes Unknown Unknown Yes Unknown
F221 Explicit defaults No Unknown Unknown Unknown Unknown Yes Unknown
F261 CASE expression Yes Unknown Yes Unknown Unknown Yes Unknown
F261–01 Simple CASE Yes Unknown Yes Unknown Unknown Yes Unknown
F261–02 Searched CASE Yes Unknown Yes Unknown Unknown Yes Unknown
F261–03 NULLIF Yes Unknown Yes Unknown Unknown Yes Unknown
F261–04 COALESCE Yes Unknown Yes Unknown Unknown Yes Unknown
F311 Schema definition statement No Unknown Yes Unknown Unknown No Unknown
F311–01 CREATE SCHEMA No Unknown Yes Unknown Unknown No Unknown
F311–02 CREATE TABLE for persistent base tables No Unknown Yes Unknown Unknown No Unknown
F311–03 CREATE VIEW No Unknown Yes Unknown Unknown No Unknown
F311–04 CREATE VIEW: WITH CHECK OPTION No Unknown Yes Unknown Unknown No Unknown
F311–05 GRANT statement No Unknown Yes Unknown Unknown No Unknown
F471 Scalar subquery values Yes Unknown Yes Unknown Unknown Yes Unknown
F481 Expanded NULL predicate Yes Unknown Yes Unknown Unknown Yes Unknown
F501 Features and conformance views Unknown Unknown No Unknown Unknown Yes Unknown
F501–01 SQL_FEATURES view Unknown Unknown Unknown Unknown Unknown Yes Unknown
F501–02 SQL_SIZING view Unknown Unknown Unknown Unknown Unknown Yes Unknown
F501–03 SQL_LANGUAGES view Unknown Unknown Unknown Unknown Unknown Yes Unknown
F812 Basic flagging No Unknown SQL-92 Unknown Unknown No Unknown
S011 Distinct data types No Unknown Unknown Unknown Unknown No Unknown
S011–01 USER_DEFINED_TYPES view Unknown Unknown Unknown Unknown Unknown No Unknown
T321 Basic SQL-invoked routines Partial Unknown Partial Unknown Unknown Partial Unknown
T321–01 User-defined functions with no overloading Partial Unknown Unknown Unknown Unknown Yes Unknown
T321–02 User-defined stored procedures with no overloading Partial Unknown Unknown Unknown Unknown No Unknown
T321–03 Function invocation Yes Unknown Yes Unknown Unknown Yes Unknown
T321–04 CALL statement Partial Unknown Yes Unknown Unknown No Unknown
T321–05 RETURN statement Partial Unknown Unknown Unknown Unknown No Unknown
T321–06 ROUTINES view Unknown Unknown Unknown Unknown Unknown Yes Unknown
T321–07 PARAMETERS view Unknown Unknown Unknown Unknown Unknown Yes Unknown
T631 IN predicate with one list element Yes Unknown Yes Unknown Unknown Yes Unknown

Footnotes

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

See also

References

  1. https://dev.mysql.com/doc/refman/5.7/en/information-schema.html
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.