Search notes:

(some) ISO 9075 (SQL) features

The SQL Standard a set of standard-defined features. An SQL-implementation might additionally define a set of implementation-defined features.
A feature is identified by a feature id and referenced by a feature name.
The format of a feature id is either
Feature ids of standard features are stable across SQL versions.
The letter V indicates a implementation-defined feature.
Some interesting features are:
Feature ID Description Notes
B012 Embedded C Implies E182
B013 Embedded COBOL
B021 Direct SQL Oracle implements this feature with SQL Plus
B031 Basic dynamic SQL
B032 Extended dynamic SQL Implies B031
B034 Dynamic specification of cursor attributes Implies B031
B035 Non-extended descriptor names Implies B031
B122 Routine language C
B128 Routine language SQL Oracle implements this feature with PL/SQL
B200 Polymorphic table functions (PTF) Optional feature with SQL:2016
E011 Numeric types
E021 Character string types
E031 Identifiers
E051 Basic query specification
E061 Basic predicates and search conditions
E071 Basic query expressions
E081 Basic privileges
E091 Set functions
E101 Basic data manipulation
E111 Single row SELECT statement
E121 Basic cursor support
E131 Null value support (nulls in lieu of values)
E141 Basic integrity constraints
E151 Transaction support
E161 SQL comments using leading double minus (--)
E182 Host language binding Implied by features B011…B017 (Embedded language)
F032 Cascade drop behaviour
F033 alter table … drop column
F034 Extended revoke statement
F041 Basic joined table F041-01: inner join, F041-01: full outer join, F041-03: left outer join, F041-04: right outer join. Compare F401
F051 Basic date and time
F052 Intervals and datetime arithmetics
F081 UNION and EXCEPT in views
F111 Isolation levels other than serializable
F121 Basic diagnostic management
F131 Grouped operations
F191 Referential delete actions
F200 truncate table
F201 cast function
F221 Explicit defaults
F231 Privilege tables (table_privileges and column_privileges)
F261 CASE expression
F281 like enhancements
F291 unique predicate
F302 intersect table operator
F311 Schema definition statement
F312 merge statement
F313 Enhanced MERGE statement Implies F312
F314 merge statement with delete branch Implies F312
F321 User authorization (session_user, current_user, system_user, set session authorization)
F341 Usage tables
F381 Extended schema manipulation
F382 alter column <datatype> Implies F381
F383 Set column not null clause Implies F381
F384 Drop identity property clause Implies F381
F385 Drop column generation expression clause Implies F381
F386 Set identity column generation clause Implies F381
F391 Long identifiers
F393 Unicode escapes in literals
F394 Optional normal form specification
F401 Extended joined tables F401-01: natural join, F401-02: full outer join, F401-03: union join, F401-04: cross join`. Compare F041
F402 Named column joins for LOBs, arrays and multisets
F403 Partitioned join tables
F404 Range variable for common column names Optional feature with SQL:2016
F411 Time zone specification
F421 National character
F431 Read-only scrollable cursors Apparently
F442 Mixed column references in set functions
F461 Named character sets
F471 Scalar subquery values
F481 Expanded null predicate
F491 Constraint management
F492 Optional table constraint enforcement
F531 Temporary tables
F555 Enhanced seconds precision
F561 Full value expressions
F571 Truth value tests (such as is not true?) Oracle has lnnvl
F591 Derived tables
F641 Row and table constructors
F651 Catalog name qualifiers Compare F762
F690 Collation support
F693 SQL-sessions and client module collations
F695 Translation support
F721 Deferrable constraints
F731 INSERT column privileges
F761 Session management
F762 CURRENT_CATALOG Compare F651
F763 CURRENT_SCHEMA
F771 Connection management
F781 Self-referencing operations
F801 Full set function
F831 Full cursor update
F841 like_regex predicate Oracle (and others?): regexp_like
F842 occurrences_regex function regexp_count
F843 position_regex function regexp_instr
F844 substring_regex function regexp_substr
F845 translate_regex function regexp_replace
F850 Top-level <order by clause> in <query expression>
F851 <order by clause> in subqueries
F852 Top-level <order by clause> in views
F855 Nested <order by clause> in <query expression>
F856 Nested <fetch first clause> in <query expression>
F857 Top-level <fetch first clause> in a <query expression>
F858 <fetch first clause> in subqueries
F859 Top-level <fetch first clause> in views
F860 Dynamic <fetch first row count> in <fetch first clause>
F861 Top-level <result offset clause> in <query expression>
F862 <result offset clause> in subqueries
F863 Nested <result offset clause> in <query expression>
F864 Top-level <result offset clause> in views
F865 Dynamic <offset row count> in <result offset clause>
F866 FETCH FIRST clause: PERCENT option
F867 FETCH FIRST clause: WITH TIES option
R010 Row pattern recognizion: FROM clause
R020 Row pattern recognizion: WINDOW clause
S023 Basic structured types
S024 Enhanced structured types
S025 Final structured types
S026 Self-referencing structured types
S041 Basic reference types
S043 Enhanced reference types
S051 Create table of type
S081 Subtables
S091 Array types
S092 Arrays of user-defined types
S094 Arrays of reference types
S095 Array constructors by query
S097 Array element assignment
S098 array_agg Compare with T625 (listagg)
S111 only in query expressions
S151 Type predicate
S161 Subtype treatment
S162 Subtype treatment for references
S201 SQL-invoked routines on arrays
S202 SQL-invoked routines on multisets
S232 Array locators
S233 Multiset locators
S241 Transform functions
S251 User-defined orderings
S261 Specified type method
S271 Basic multiset support
S272 Multisets of user-defined types
S274 Multisets of reference types
S275 Advanced multiset support
S281 Nested collection types
S401 Distinct types based on array types
S403 MAX_CARDINALITY
S404 TRIM_ARRAY
T031 Boolean data type
T041 Basic LOB data type support
T042 Extended LOB support
T051 Row types
T061 UCS support
T071 BIGINT data type
T076 DECFLOAT data type Optional feature with SQL:2016
T111 Updatable joins, unions and columns
T121 WITH (excluding RECURSIVE) in query expression
T122 WITH (excluding RECURSIVE) in subquery
T131 Recursive query
T132 Recursive query in subquery
T141 SIMILAR predicate
T172 AS subquery clause in table definition
T174 Identity columns
T175 Generated columns
T176 Sequence generator support
T178 Identity columns: simple restart option
T180 System-versioned tables
T201 Comparable data types for referential constraints
T211 Basic trigger capability
T212 Enhanced trigger capability
T213 INSTEAD OF triggers
T241 START TRANSACTION statement
T271 Savepoints
T285 Enhanced derived column names
T323 Explicit security for external routines
T324 Explicit security for SQL routines
T325 Qualified SQL parameter reference
T326 Table functions
T331 Basic roles
T341 Overloading of SQL-invoked functions and procedures
T351 Bracketed comments
T431 Extended grouping capabilities
T432 Nested and concatenated GROUPING SETS
T433 Multiargument function GROUPING
T441 ABS and MOD functions
T471 Result sets return value
T491 LATERAL derived tables
T501 Enhanced EXISTS predicate
T511 Transaction counts
T571 Array-returning external SQL-invoked function
T572 Multiset-returning external SQL-invoked function
T581 Regular expressions substring functions
T591 UNIQUE constraints of possibly null columns
T611 Elementary OLAP operations
T612 Advanced OLAP operations
T613 Sampling (tablesample) Implemented in Oracle SQL with sample.
T614 ntile function
T615 LAG and LEAD analytic functions
T616 Null treatment option for lag and lead functions
T617 first_value and last_value functions
T618 nth_value function
T621 Enhanced numeric functions
T622 Trigonometric functions Optional feature with SQL:2016
T623 General logarithm functions Optional feature with SQL:2016
T624 Common logarithm functions Optional feature with SQL:2016
T625 LISTAGG Optional feature with SQL:2016. Compare with S098 (array_agg)
T641 Multiple column assignment
T652 SQL-dynamic statements in SQL routines.
T654 SQL-dynamic statements in external routines
T655 Cyclically dependent routines
T839 Formatted cast of datetimes to/from character strings Optional feature with SQL:2016

Index