The lead section of this article may need to be rewritten.(September 2021) |
SQL Compliance means adhering to rules laid for SQL. Some standards and protocols related to SQL are mentioned in this.
Function | Description | Firebird | IBM Db2 | Oracle Database | Microsoft SQL | MonetDB | MySQL | PostgreSQL | SQLite | Apache Ignite | Mimer SQL | NexusDB |
---|---|---|---|---|---|---|---|---|---|---|---|---|
E011 | Numeric data types | Partial | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E011-01 | INTEGER and SMALLINT data types (including all spellings) | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E011-02 | REAL, DOUBLE PRECISION, and FLOAT data types | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E011-03 | DECIMAL and NUMERIC data types | Partial | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E011-04 | Arithmetic operators | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E011-05 | Numeric comparison | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E011-06 | Implicit casting among the numeric data types | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E021 | Character string types | Yes | Yes | Partial | Partial | Partial | Unknown | Partial | Unknown | Partial | Yes | Yes |
E021-01 | CHARACTER data type (including all its spellings) | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E021-02 | CHARACTER VARYING data type (including all its spellings) | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E021-03 | Character literals | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E021-04 | CHARACTER_LENGTH function | Yes | Yes | No | No | Yes | Yes | Partial [note 1] | No | Yes | Yes | Yes |
E021-05 | OCTET_LENGTH function | Yes | Yes | No | No | Yes | Yes | Yes | No [note 2] | Yes | Yes | Yes |
E021-06 | SUBSTRING function | Yes | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes |
E021-07 | Character concatenation | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes |
E021-08 | UPPER and LOWER functions | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E021-09 | TRIM function | Yes | Yes | Yes | No [note 3] [1] | Yes | Yes | Yes | No | Yes | Yes | Yes |
E021-10 | Implicit casting among the fixed-length and variable-length character string types | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E021-11 | POSITION function | Yes | Yes | No [note 4] | No [note 5] [2] | No [note 6] | Yes | Yes | No | Yes | Yes | Yes |
E021-12 | Character comparison | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E031 | Identifiers | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E031-01 | Delimited identifiers | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Yes | Yes |
E031-02 | Lower case identifiers | Yes | Yes | Unknown | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E031-03 | Trailing underscore | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E051 | Basic query specification | Partial | Yes | Partial | Unknown | Yes | Partial | Yes | Unknown | Partial | Yes | Yes |
E051-01 | SELECT DISTINCT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E051-02 | GROUP BY clause | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Partial | Yes | Yes |
E051-04 | GROUP BY can contain columns not in <select-list> | Yes | Yes | Yes | Unknown | Yes | No | Yes | Unknown | Yes | Yes | Yes |
E051-05 | Select list items can be renamed | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E051-06 | HAVING clause | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E051-07 | Qualified * in select list | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E051-08 | Correlation names in the FROM clause | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E051-09 | Rename columns in the FROM clause | No | Yes | Unknown | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | Yes |
E061 | Basic predicates and search conditions | Yes | Partial | Partial | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E061-01 | Comparison predicate | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E061-02 | BETWEEN predicate | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E061-03 | IN predicate with list of values | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E061-04 | LIKE predicate | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Unknown | Partial | Yes | Yes |
E061-05 | LIKE predicate: ESCAPE clause | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E061-06 | NULL predicate | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E061-07 | Quantified comparison predicate | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E061-08 | EXISTS predicate | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E061-09 | Subqueries in comparison predicate | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E061-11 | Subqueries in IN predicate | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E061-12 | Subqueries in quantified comparison predicate | Yes | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | Yes |
E061-13 | Correlated subqueries | Yes | Yes | Partial | Yes | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E061-14 | Search condition | Yes | Partial [note 7] | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E071 | Basic query expressions | Partial | Yes | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E071-01 | UNION DISTINCT table operator | Yes | Yes [note 8] | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E071-02 | UNION ALL table operator | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E071-03 | EXCEPT DISTINCT table operator | No | Yes [note 8] | No [note 9] | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E071-05 | Columns combined via table operators need not have exactly the same data type | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E071-06 | Table operators in subqueries | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E081 | Basic Privileges | Yes | Yes | Partial | Unknown | Partial | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-01 | SELECT privilege at the table level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-02 | DELETE privilege | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-03 | INSERT privilege at the table level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-04 | UPDATE privilege at the table level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-05 | UPDATE privilege at the column level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-06 | REFERENCES privilege at the table level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-07 | REFERENCES privilege at the column level | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-08 | WITH GRANT OPTION | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-09 | USAGE privilege | Yes | Yes | No | Unknown | No | Unknown | Yes | Unknown | Unknown | Yes | No |
E081-10 | EXECUTE privilege | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | No |
E091 | Set functions | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | Yes |
E091-01 | AVG | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E091-02 | COUNT | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E091-03 | MAX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E091-04 | MIN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E091-05 | SUM | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E091-06 | ALL quantifier | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E091-07 | DISTINCT quantifier | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E101 | Basic data manipulation | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Partial | Partial | Yes | Yes |
E101-01 | INSERT statement | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Partial | Yes | Yes |
E101-03 | Searched UPDATE statement | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E101-04 | Searched DELETE statement | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E111 | Single row SELECT statement | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Unknown | Yes | Yes |
E121 | Basic cursor support | Partial | Yes | Partial | Unknown | No | Unknown | Yes | Partial | No | Yes | Yes |
E121-01 | DECLARE CURSOR | Yes | Yes | Partial | Unknown | No | Unknown | Yes | No | No | Yes | Yes |
E121-02 | ORDER BY columns need not be in select list | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [note 10] | No | Yes | Yes |
E121-03 | Value expressions in ORDER BY clause | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | Yes |
E121-04 | OPEN statement | Yes | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | Yes |
E121-06 | Positioned UPDATE statement | Yes | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | No |
E121-07 | Positioned DELETE statement | Yes | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | No |
E121-08 | CLOSE statement | Yes | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | Yes |
E121-10 | FETCH statement: implicit NEXT | Yes | Yes | Partial | Unknown | No | Unknown | Yes | Unknown | No | Yes | Yes |
E121-17 | WITH HOLD cursors | No | Yes | Unknown | Unknown | No | Unknown | Yes | Unknown | No | Yes | No |
E131 | Null value support (nulls in lieu of values) | Yes | Yes | Unknown | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes |
E141 | Basic integrity constraints | Partial | Yes | Yes | Unknown | Partial | Unknown | Yes | Partial | Partial | Yes | Yes |
E141-01 | NOT NULL constraints | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E141-02 | UNIQUE constraints of NOT NULL columns | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Yes | No | Yes | Yes |
E141-03 | PRIMARY KEY constraints | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [note 11] | Partial | Yes | Yes |
E141-04 | Basic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | Yes |
E141-06 | CHECK constraints | Yes | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | Yes |
E141-07 | Column defaults | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | Yes |
E141-08 | NOT NULL inferred on PRIMARY KEY | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Partial [note 12] | Partial | Yes | Yes |
E141-10 | Names in a foreign key can be specified in any order | No | Yes | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | Yes |
E151 | Transaction support | Partial | Partial | Yes | Yes | Yes | Unknown | Yes | Partial | No | Yes | Yes |
E151-01 | COMMIT statement | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | No | Yes | Yes |
E151-02 | ROLLBACK statement | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | No | Yes | Yes |
E152 | Basic SET TRANSACTION statement | Partial | Yes | Yes | Unknown | Yes | Unknown | Yes | No | No | Yes | Partial |
E152-01 | SET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause | No | Partial [note 13] | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | Partial |
E152-02 | SET TRANSACTION statement: READ ONLY and READ WRITE clauses | Yes | No | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | Partial |
E* | Other | Partial | Partial | Partial | Unknown | Yes | Unknown | Partial | Unknown | Unknown | Yes | Partial |
E153 | Updatable queries with subqueries | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes |
E161 | SQL comments using leading double minus | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
E171 | SQLSTATE support | Partial | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | No |
E182 | Host language binding (previously "Module Language") | No | Partial [note 14] | Unknown | Unknown | Yes | Unknown | No | Unknown | No | Yes | |
F021 | Basic information schema | No | Partial | No | Yes | No | Yes [note 15] | Yes | No | No | Yes | |
F021-01 | COLUMNS view | No | Partial [note 16] | No | Yes | No | Yes [note 17] | Yes | No [note 18] | No | Yes | |
F021-02 | TABLES view | No | Partial [note 16] | No | Yes | No | Yes [note 17] | Yes | No [note 18] | No | Yes | |
F021-03 | VIEWS view | No | Partial [note 16] | No | Yes | No | Yes [note 17] | Yes | No [note 18] | No | Yes | |
F021-04 | TABLE_CONSTRAINTS view | No | Partial [note 16] | No | Yes | No | Yes | Yes | No | No | Yes | |
F021-05 | REFERENTIAL_CONSTRAINTS view | No | Partial [note 16] | No | Yes | No | Yes | Yes | No | No | Yes | |
F021-06 | CHECK_CONSTRAINTS view | No | Partial [note 16] | No | Yes | No | Yes | Yes | No | No | Yes | |
F031 | Basic schema manipulation | Partial | Partial | Partial | Unknown | Partial | Unknown | Yes | Partial | Partial | Yes | |
F031-01 | CREATE TABLE statement to create persistent base tables | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | |
F031-02 | CREATE VIEW statement | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | No | Yes | |
F031-03 | GRANT statement | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | No | No | Yes | |
F031-04 | ALTER TABLE statement: ADD COLUMN clause | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | Unknown | Yes | Yes | |
F031-13 | DROP TABLE statement: RESTRICT clause | Partial | Yes | No | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F031-16 | DROP VIEW statement: RESTRICT clause | Unknown | Yes | No | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F031-19 | REVOKE statement: RESTRICT clause | Partial | No | No | Unknown | No | Unknown | Yes | Unknown | No | Yes | |
F041 | Basic joined table | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Partial | Yes | Yes | |
F041-01 | Inner join (but not necessarily the INNER keyword) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
F041-02 | INNER keyword | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
F041-03 | LEFT OUTER JOIN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
F041-04 | RIGHT OUTER JOIN | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | |
F041-05 | Outer joins can be nested | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F041-07 | The inner table in a left or right outer join can also be used in an inner join | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F041-08 | All comparison operators are supported (rather than just =) | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F051 | Basic date and time | Partial | Partial | Yes | Unknown | Yes | Unknown | Yes | Partial | Partial | Yes | |
F051-01 | DATE data type (including support of DATE literal) | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Partial | Yes | |
F051-02 | TIME data type (including support of TIME literal) with fractional seconds precision of at least 0 | Yes | Yes | No | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | |
F051-03 | TIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Partial | Yes | |
F051-04 | Comparison predicate on DATE, TIME, and TIMESTAMP data types | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F051-05 | Explicit CAST between datetime types and character string types | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Partial | Yes | Yes | |
F051-06 | CURRENT_DATE | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Yes | |
F051-07 | LOCALTIME | Partial | No | No | Unknown | Yes | Yes | Yes | No | Yes | Yes | |
F051-08 | LOCALTIMESTAMP | Partial | No | Yes | Unknown | Yes | Yes | Yes | No | Yes | Yes | |
F081 | UNION and EXCEPT in views | Partial | Yes | Unknown | Yes | Yes | Unknown | Yes | Yes | No | Yes | |
F131 | Grouped operations | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F131-01 | WHERE, GROUP BY, and HAVING clauses supported in queries with grouped views | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F131-02 | Multiple tables supported in queries with grouped views | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F131-03 | Set functions supported in queries with grouped views | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F131-04 | Subqueries with GROUP BY and HAVING clauses and grouped views | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F131-05 | Single row SELECT with GROUP BY and HAVING clauses and grouped views | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes | |
F* | Other | Partial | Unknown | Partial | Unknown | Yes | Unknown | Partial | Unknown | Partial | Yes | |
F181 | Multiple module support | No | Unknown | Yes | Unknown | Yes | Unknown | No | Unknown | No | Yes | |
F201 | CAST function | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Yes | |
F221 | Explicit defaults | No | Unknown | Unknown | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F261 | CASE expression | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | |
F261-01 | Simple CASE | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F261-02 | Searched CASE | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F261-03 | NULLIF | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F261-04 | COALESCE | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | |
F311 | Schema definition statement | No | Unknown | Yes | Unknown | Partial | Unknown | Yes | Partial | No | Yes | |
F311-01 | CREATE SCHEMA | No | Unknown | Yes | Unknown | Yes | Unknown | Yes | No | No | Yes | |
F311-02 | CREATE TABLE for persistent base tables | No | Unknown | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | |
F311-03 | CREATE VIEW | No | Unknown | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | |
F311-04 | CREATE VIEW: WITH CHECK OPTION | No | Unknown | Yes | Unknown | No | Unknown | Yes | Unknown | No | Yes | |
F311-05 | GRANT statement | No | Unknown | Yes | Unknown | Yes | Unknown | Yes | No | No | Yes | |
F471 | Scalar subquery values | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | Yes | Yes | |
F481 | Expanded NULL predicate | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
F501 | Features and conformance views | Unknown | Unknown | No | No | No | Unknown | Partial | Unknown | No | Yes | |
F501-01 | SQL_FEATURES view | No | No | No | No | No | No | Yes | No | No | Yes | |
F501-02 | SQL_SIZING view | Unknown | Unknown | No | No | No | Unknown | Yes | No | No | Yes | |
F501-03 | SQL_LANGUAGES view | Unknown | Unknown | No | No | No | Unknown | Yes | No | No | Yes | |
F812 | Basic flagging | No | Unknown | SQL-92 | Unknown | No | Unknown | No | Unknown | No | Yes | |
S011 | Distinct data types | No | Unknown | Unknown | Unknown | No | Unknown | No | Unknown | No | Yes | |
S011-01 | USER_DEFINED_TYPES view | Unknown | Unknown | Unknown | Unknown | No | Unknown | No | Unknown | No | Yes | |
T321 | Basic SQL-invoked routines | Partial | Unknown | Partial | Unknown | Partial | Unknown | Partial | Unknown | No | Yes | |
T321-01 | User-defined functions with no overloading | Yes | Unknown | Unknown | Yes | Yes | Yes | Yes | Unknown | No | Yes | |
T321-02 | User-defined stored procedures with no overloading | Yes | Unknown | Unknown | Yes | Yes | Unknown | Yes | Unknown | No | Yes | |
T321-03 | Function invocation | Yes | Unknown | Yes | Yes | Yes | Yes | Yes | Unknown | No | Yes | |
T321-04 | CALL statement | Partial | Unknown | Yes | Unknown | Yes | Unknown | Yes | No | No | Yes | |
T321-05 | RETURN statement | Partial | Unknown | Partial [note 19] | Unknown | Yes | Unknown | No | No | No | Yes | |
T321-06 | ROUTINES view | Unknown | Unknown | No [note 20] | Unknown | No [note 21] | Unknown | Yes | Unknown | No | Yes | |
T321-07 | PARAMETERS view | Unknown | Unknown | No [note 22] | Unknown | No [note 23] | Unknown | Yes | Unknown | No | Yes | |
T631 | IN predicate with one list element | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Unknown | No | Yes |
ALL PROCEDURES
metadata view.sys.functions
metadata view.ALL_ARGUMENTS
and ALL_METHOD_PARAMS
metadata views.sys.args
metadata view.SQL is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). It is particularly useful in handling structured data, i.e. data incorporating relations among entities and variables.
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.
In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables, indices, and users. DDL statements are similar to a computer programming language for defining data structures, especially database schemas. Common examples of DDL statements include CREATE
, ALTER
, and DROP
.
An SQL INSERT statement adds one or more records to any single table in a relational database.
A physical data model is a representation of a data design as implemented, or intended to be implemented, in a database management system. In the lifecycle of a project it typically derives from a logical data model, though it may be reverse-engineered from a given database implementation. A complete physical data model will include all the database artifacts required to create relationships between tables or to achieve performance goals, such as indexes, constraint definitions, linking tables, partitioned tables or clusters. Analysts can usually use a physical data model to calculate storage estimates; it may include specific storage allocation details for a given database system.
A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for maintaining the integrity of the information on the database. For example, when a new record is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries.
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components. ADO.NET is a set of computer software components that programmers can use to access data and data services from a database. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems, though it can also access data in non-relational data sources. ADO.NET is sometimes considered an evolution of ActiveX Data Objects (ADO) technology, but was changed so extensively that it can be considered an entirely new product.
The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
A table is a collection of related data held in a table format within a database. It consists of columns and rows.
In a database, a view is the result set of a stored query on the data, which the database users can query just as they would in a persistent database collection object. This pre-established query command is kept in the database dictionary. Unlike ordinary base tables in a relational database, a view does not form part of the physical schema: as a result set, it is a virtual table computed or collated dynamically from data in the database when access to that view is requested. Changes applied to the data in a relevant underlying table are reflected in the data shown in subsequent invocations of the view. In some NoSQL databases, views are the only way to query data.
Oracle Enterprise Manager (OEM) is a set of web-based tools aimed at managing software and hardware produced by Oracle Corporation as well as by some non-Oracle entities.
Set operations allow the results of multiple queries to be combined into a single result set. Set operators include UNION
, INTERSECT
, and EXCEPT
.
Oracle Database provides information about all of the tables, views, columns, and procedures in a database. This information about information is known as metadata. It is stored in two locations: data dictionary tables and a metadata registry.
Entity–attribute–value model (EAV) is a data model to encode, in a space-efficient manner, entities where the number of attributes that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest. Such entities correspond to the mathematical notion of a sparse matrix.
In relational databases, the information schema is an ANSI-standard set of read-only views that provide information about all of the tables, views, columns, and procedures in a database. It can be used as a source of the information that some databases make available through non-standard commands, such as:
=> SELECT count(table_name) FROM information_schema.tables; count ------- 99 => SELECT column_name, data_type, column_default, is_nullable FROM information_schema.columns WHERE table_name='alpha'; column_name | data_type | column_default | is_nullable -------------+-----------+----------------+------------- foo | integer | | YES bar | character | | YES => SELECT * FROM information_schema.information_schema_catalog_name; catalog_name -------------- johnd
The DUAL table is a special one-row, one-column table present by default in Oracle and other database installations. In Oracle, the table has a single VARCHAR2(1) column called DUMMY that has a value of 'X'. It is suitable for use in selecting a pseudo column such as SYSDATE or USER.
Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network. Microsoft markets at least a dozen different editions of Microsoft SQL Server, aimed at different audiences and for workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.
A hierarchical query is a type of SQL query that handles hierarchical model data. They are special cases of more general recursive fixpoint queries, which compute transitive closures.
Apache Hive is a data warehouse software project built on top of Apache Hadoop for providing data query and analysis. Hive gives an SQL-like interface to query data stored in various databases and file systems that integrate with Hadoop. Traditional SQL queries must be implemented in the MapReduce Java API to execute SQL applications and queries over distributed data. Hive provides the necessary SQL abstraction to integrate SQL-like queries (HiveQL) into the underlying Java without the need to implement queries in the low-level Java API. Since most data warehousing applications work with SQL-based querying languages, Hive aids portability of SQL-based applications to Hadoop. While initially developed by Facebook, Apache Hive is used and developed by other companies such as Netflix and the Financial Industry Regulatory Authority (FINRA). Amazon maintains a software fork of Apache Hive included in Amazon Elastic MapReduce on Amazon Web Services.
Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.