This article is about the database language. For the specific Microsoft database server see SQL Server. For the airport with IATA code SQL see San Carlos Airport.
SQL
Paradigm
Multi-paradigm
Appeared in
1974
Designed by
Donald D. Chamberlin
Raymond F. Boyce
Developer
IBM
Stable release
SQL:2008 (2008)
Typing discipline
Static strong
Major implementations
Many
Dialects
SQL-86 SQL-89 SQL-92 SQL:1999 SQL:2003 SQL:2008
Influenced by
Datalog
Influenced
Agena CQL LINQ Windows PowerShell1
OS
Cross-platform
Usual file extensions
.sql
Website
ISO/IEC 9075-1:2008: Information technology Database languages SQL Part 1: Framework (SQL/Framework) http://www.iso.org/iso/cataloguedetail.htmcsnumber45498
SQL
Structured Query Language
Filename extension
.sql
Internet media type
application/x-sql
Developed by
IBM
Initial release
1986 (1986)
Latest release
SQL:2008 / 2008; 3 years ago (2008)
Type of format
Database
Standard(s)
ISO/IEC 9075
Open format
Yes
Website
2
Idera Introduces ACE Program for SQL Server
Idera Advisors and Community Educators Program Supports the SQL Server Community by Sponsoring Members in Speaking Engagements (PRWeb June 08, 2011) Read the full story at http://www.prweb.com/releases/2011/6/prweb8547079.htm
Idera Advisors and Community Educators Program Supports the SQL Server Community by Sponsoring Members in Speaking Engagements (PRWeb June 08, 2011) Read the full story at http://www.prweb.com/releases/2011/6/prweb8547079.htm
SQL Tutorial
Well organized easy to understand SQL tutorial with lots of examples. Including PHP, ASP, ADO, Oracle, Access, SQL Server. Related: HTML, JavaScript, XML, XQuery
Well organized easy to understand SQL tutorial with lots of examples. Including PHP, ASP, ADO, Oracle, Access, SQL Server. Related: HTML, JavaScript, XML, XQuery
SQL ( /sikwl/ often /s kju l/)3 often referred to as Structured Query Language is a database computer language designed for managing data in relational database management systems (RDBMS) and originally based upon relational algebra and calculus.4 Its scope includes data insert query update and delete schema creation and modification and data access control. SQL was one of the first commercial languages for Edgar F. Codd's relational model as described in his influential 1970 paper "A Relational Model of Data for Large Shared Data Banks".5 Despite not adhering to the relational model as described by Codd it became the most widely used database language.67
Contents
1 History
2 Language elements
2.1 Queries
2.1.1 Null and three-valued logic (3VL)
2.2 Data manipulation
2.3 Transaction controls
2.4 Data definition
2.5 Data types
2.5.1 Character strings
2.5.2 Bit strings
2.5.3 Numbers
2.5.4 Date and time
2.6 Data control
2.7 Procedural extensions
3 Criticism
3.1 Cross-vendor portability
4 Standardization
4.1 Standard structure
5 Alternatives
6 See also
7 References
8 External links
History
Microsoft targets amateur programmers
Perks for hobbyists will include lightweight development tools and a free version of SQL Server.
Perks for hobbyists will include lightweight development tools and a free version of SQL Server.
Perflib 0816 to reg file rename all entries of 0816 by 016 and import it again to registry rerun SQL Server 2008 setup successful and finally remove ghost folder 016 Setup error As soon more I have more updates about correction that is being implemented I will update this blog entry Posted Thursday December 18 2008 10 53 AM by
http://blogs.msdn.com/joaol/archive/2008/12/18/sql-server-2008-performance-counters-registry-hive-consistency-fails-on-non-english-operating-systems.aspx
Welcome - SQL Database Reference Material - Learn sql, read ...
SQL.org aims to be both a portal to SQL resources on the internet, and a source of original SQL-related content.
SQL.org aims to be both a portal to SQL resources on the internet, and a source of original SQL-related content.
SQL was developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s. This version initially called SEQUEL (Structured English Query Language) was designed to manipulate and retrieve data stored in IBM's original quasi-relational database management system System R which a group at IBM San Jose Research Laboratory had developed during the 1970s.8 The acronym SEQUEL was later changed to SQL because "SEQUEL" was a trademark of the UK-based Hawker Siddeley aircraft company.9
Tempdb Space Usage in SQL Server
We all know how important tempdb is and know that tempdb gets recreated every time SQL Server is restarted. Here we dig a little deeper to focus on how space is used inside tempdb.
We all know how important tempdb is and know that tempdb gets recreated every time SQL Server is restarted. Here we dig a little deeper to focus on how space is used inside tempdb.
published paper on Oracle Forensics and resulted in a new Security Related Oracle bug number 4137048 Here is a summary of the Oracle training I have attended Manchester University SQL PL Forms and the first SANS Oracle Security Training event in San Diego 2005 which I Proctored
http://www.ukcert.org.uk/paul
The first Relational Database Management System (RDBMS) was RDMS developed at MIT in the early 1970s soon followed by Ingres developed in 1974 at U.C. Berkeley. Ingres implemented a query language known as QUEL which was later supplanted in the marketplace by SQL.9
STEALTHbits Expands Governance Solution to Include SQL Management
GLEN ROCK, NJ--(Marketwire - Jun 8, 2011) - STEALTHbits Technologies, a leading Data and Access Governance software vendor, today announced the release of a new SQL Server Management solution. As an extension to the award-winning StealthAUDIT Management Platform (SMP) for Data & Access Governance, the SQL Solution Set leverages the powerful core technologies available within SMP to provide ...
GLEN ROCK, NJ--(Marketwire - Jun 8, 2011) - STEALTHbits Technologies, a leading Data and Access Governance software vendor, today announced the release of a new SQL Server Management solution. As an extension to the award-winning StealthAUDIT Management Platform (SMP) for Data & Access Governance, the SQL Solution Set leverages the powerful core technologies available within SMP to provide ...
in detail any error messages returned by the ODBC compliant database Any ODBC database such as Access SQL Server MSDE Oracle Sybase is supported T4EDirSize Gets the free and used space of any directory or share also counts the number of special files encrypted read
http://www.advtoolware.com/products/command-line/commandlineutilities.asp
In the late 1970s Relational Software Inc. (now Oracle Corporation) saw the potential of the concepts described by Codd Chamberlin and Boyce and developed their own SQL-based RDBMS with aspirations of selling it to the U.S. Navy Central Intelligence Agency and other U.S. government agencies. In June 1979 Relational Software Inc. introduced the first commercially available implementation of SQL Oracle V2 (Version2) for VAX computers. Oracle V2 beat IBM's August release of the System/38 RDBMS to market by a few weeks.citation needed
SQL Server 2008 and 2008 R2 Integration Services - Consuming Web Services Using Script Task
Web services can be easily leveraged in SQL Server 2008 R2 Integration Services by employing Web Services Task.
Web services can be easily leveraged in SQL Server 2008 R2 Integration Services by employing Web Services Task.
After testing SQL at customer test sites to determine the usefulness and practicality of the system IBM began developing commercial products based on their System R prototype including System/38 SQL/DS and DB2 which were commercially available in 1979 1981 and 1983 respectively.10
Language elements
This chart shows several of the SQL language elements that compose a single statement.
MongoDB competes on speed and flexibility
While debate rages on over the value of nonrelational, or NoSQL, databases, two case studies presented at a New York conference this week point to the benefits of using the MongoDB non-SQL data store instead of a standard relational database.
While debate rages on over the value of nonrelational, or NoSQL, databases, two case studies presented at a New York conference this week point to the benefits of using the MongoDB non-SQL data store instead of a standard relational database.
The SQL language is sub-divided into several language elements including:
Clauses which are constituent components of statements and queries. (In some cases these are optional.)11
Expressions which can produce either scalar values or tables consisting of columns and rows of data.
Predicates which specify conditions that can be evaluated to SQL three-valued logic (3VL) or Boolean (true/false/unknown) truth values and which are used to limit the effects of statements and queries or to change program flow.
Queries which retrieve the data based on specific criteria. This is the most important element of SQL.
Statements which may have a persistent effect on schemata and data or which may control transactions program flow connections sessions or diagnostics.
SQL statements also include the semicolon (";") statement terminator. Though not required on every platform it is defined as a standard part of the SQL grammar.
Insignificant whitespace is generally ignored in SQL statements and queries making it easier to format SQL code for readability.
Queries
MongoDB Competes on Speed and Flexibility
MongoDB's New York conference showed off a variety of use cases
MongoDB's New York conference showed off a variety of use cases
SQL definition of SQL in the Free Online Encyclopedia.
Encyclopedia article about SQL. Information about SQL in the Columbia Encyclopedia, Computer Desktop Encyclopedia, computing dictionary. ...
Encyclopedia article about SQL. Information about SQL in the Columbia Encyclopedia, Computer Desktop Encyclopedia, computing dictionary. ...
The most common operation in SQL is the query which is performed with the declarative SELECT statement. SELECT retrieves data from one or more tables or expressions. Standard SELECT statements have no persistent effects on the database. Some non-standard implementations of SELECT can have persistent effects such as the SELECT INTO syntax that exists in some databases.12
Microsoft Plans 16 Security Bulletins for June's Patch Tuesday
Microsoft will release 16 bulletins next week to fix 34 security vulnerabilities in all versions of Windows, Excel, Internet Explorer and SQL Server.
Microsoft will release 16 bulletins next week to fix 34 security vulnerabilities in all versions of Windows, Excel, Internet Explorer and SQL Server.
What is T-SQL (Transact-SQL)? - Definition from Whatis.com
Transact-SQL (T-SQL) is a set of programming extensions that add several features to Structured Query Language (SQL) including transaction control, ...
Transact-SQL (T-SQL) is a set of programming extensions that add several features to Structured Query Language (SQL) including transaction control, ...
Queries allow the user to describe desired data leaving the database management system (DBMS) responsible for planning optimizing and performing the physical operations necessary to produce that result as it chooses.
Microsoft Slates Hefty Patch Tuesday, to Fix 34 Flaws Next Week
Microsoft today said it will issue 16 security updates next week to patch 34 vulnerabilities in Windows, Internet Explorer (IE), Office, SQL Server and other products.
Microsoft today said it will issue 16 security updates next week to patch 34 vulnerabilities in Windows, Internet Explorer (IE), Office, SQL Server and other products.
Achieve Ultimate SQL Server Performance: SQL Sentry Software
Performance monitoring, tuning, job scheduling, and alerting software for Microsoft SQL Server and SQL Server Analysis Sevices.
Performance monitoring, tuning, job scheduling, and alerting software for Microsoft SQL Server and SQL Server Analysis Sevices.
A query includes a list of columns to be included in the final result immediately following the SELECT keyword. An asterisk ("*") can also be used to specify that the query should return all columns of the queried tables. SELECT is the most complex statement in SQL with optional keywords and clauses that include:
The FROM clause which indicates the table(s) from which data is to be retrieved. The FROM clause can include optional JOIN subclauses to specify the rules for joining tables.
The WHERE clause includes a comparison predicate which restricts the rows returned by the query. The WHERE clause eliminates all rows from the result set for which the comparison predicate does not evaluate to True.
The GROUP BY clause is used to project rows having common values into a smaller set of rows. GROUP BY is often used in conjunction with SQL aggregation functions or to eliminate duplicate rows from a result set. The WHERE clause is applied before the GROUP BY clause.
The HAVING clause includes a predicate used to filter rows resulting from the GROUP BY clause. Because it acts on the results of the GROUP BY clause aggregation functions can be used in the HAVING clause predicate.
The ORDER BY clause identifies which columns are used to sort the resulting data and in which direction they should be sorted (options are ascending or descending). Without an ORDER BY clause the order of rows returned by an SQL query is undefined.
The following is an example of a SELECT query that returns a list of expensive books. The query retrieves all rows from the Book table in which the price column contains a value greater than 100.00. The result is sorted in ascending order by title. The asterisk (*) in the select list indicates that all columns of the Book table should be included in the result set.
SELECT *
FROM Book
WHERE price > 100.00
ORDER BY title;
The example below demonstrates a query of multiple tables grouping and aggregation by returning a list of books and the number of authors associated with each book.
SELECT Book.title
COUNT(*) AS Authors
FROM Book JOIN Bookauthor
ON Book.isbn Bookauthor.isbn
GROUP BY Book.title;
Example output might resemble the following:
Title Authors
---------------------- -------
SQL Examples and Guide 4
The Joy of SQL 1
An Introduction to SQL 2
Pitfalls of SQL 1
Under the precondition that isbn is the only common column name of the two tables and that a column named title only exists in the Books table the above query could be rewritten in the following form:
SELECT title
COUNT(*) AS Authors
FROM Book NATURAL JOIN Bookauthor
GROUP BY title;
However many vendors either do not support this approach or require certain column naming conventions in order for natural joins to work effectively.
SQL includes operators and functions for calculating values on stored values. SQL allows the use of expressions in the select list to project data as in the following example which returns a list of books that cost more than 100.00 with an additional salestax column containing a sales tax figure calculated at 6% of the price.
SELECT isbn
title
price
price * 0.06 AS salestax
FROM Book
WHERE price > 100.00
ORDER BY title;
Null and three-valued logic (3VL)
The idea of Null was introduced into SQL to handle missing information in the relational model. The introduction of Null (or Unknown) along with True and False is the foundation of three-valued logic. Null does not have a value (and is not a member of any data domain) but is rather a placeholder or "mark" for missing information. Therefore comparisons with Null can never result in either True or False but always in the third logical result.13
SQL uses Null to handle missing information. It supports three-valued logic (3VL) and the rules governing SQL three-valued logic are shown below (p and q represent logical states).14 The word NULL is also a reserved keyword in SQL used to identify the Null special marker.
Additionally since SQL operators return Unknown when comparing anything with Null SQL provides two Null-specific comparison predicates: IS NULL and IS NOT NULL test whether data is or is not Null.13
Note that SQL returns only results for which the WHERE clause returns a value of True; i.e. it excludes results with values of False and also excludes those whose value is Unknown.
p AND q
p
True
False
Unknown
q
True
True
False
Unknown
False
False
False
False
Unknown
Unknown
False
Unknown
p OR q
p
True
False
Unknown
q
True
True
True
True
False
True
False
Unknown
Unknown
True
Unknown
Unknown
p
NOT p
True
False
False
True
Unknown
Unknown
p q
p
True
False
Unknown
q
True
True
False
Unknown
False
False
True
Unknown
Unknown
Unknown
Unknown
Unknown
Universal quantification is not explicitly supported by SQL and must be worked out as a negated existential quantification.151617
There is also the "<row value expression> IS DISTINCT FROM <row value expression>" infixed comparison operator which returns TRUE unless both operands are equal or both are NULL. Likewise IS NOT DISTINCT FROM is defined as "NOT (<row value expression> IS DISTINCT FROM <row value expression>)".
Data manipulation
The Data Manipulation Language (DML) is the subset of SQL used to add update and delete data:
INSERT adds rows (formally tuples) to an existing table e.g.:
INSERT INTO Mytable
(field1 field2 field3)
VALUES
('test' 'N' NULL);
UPDATE modifies a set of existing table rows e.g.:
UPDATE Mytable
SET field1 'updated value'
WHERE field2 'N';
DELETE removes existing rows from a table e.g.:
DELETE FROM Mytable
WHERE field2 'N';
MERGE is used to combine the data of multiple tables. It combines the INSERT and UPDATE elements. It is defined in the SQL:2003 standard; prior to that some databases provided similar functionality via different syntax sometimes called "upsert".
Transaction controls
Transactions if available wrap DML operations:
START TRANSACTION (or BEGIN WORK or BEGIN TRANSACTION depending on SQL dialect) mark the start of a database transaction which either completes entirely or not at all.
SAVE TRANSACTION (or SAVEPOINT ) save the state of the database at the current point in transaction
CREATE TABLE tbl1(id INT);
INSERT INTO tbl1(id) VALUES(1);
INSERT INTO tbl1(id) VALUES(2);
COMMIT;
UPDATE tbl1 SET id200 WHERE id1;
SAVEPOINT id1upd;
UPDATE tbl1 SET id1000 WHERE id2;
ROLLBACK TO id1upd;
SELECT id FROM tbl1;
COMMIT causes all data changes in a transaction to be made permanent.
ROLLBACK causes all data changes since the last COMMIT or ROLLBACK to be discarded leaving the state of the data as it was prior to those changes.
Once the COMMIT statement completes the transaction's changes cannot be rolled back.
COMMIT and ROLLBACK terminate the current transaction and release data locks. In the absence of a START TRANSACTION or similar statement the semantics of SQL are implementation-dependent. Example: A classic bank transfer of funds transaction.
START TRANSACTION;
UPDATE Account SET amountamount-200 WHERE accountnumber1234;
UPDATE Account SET amountamount+200 WHERE accountnumber2345;
IF ERRORS0 COMMIT;
IF ERRORS<>0 ROLLBACK;
Data definition
The Data Definition Language (DDL) manages table and index structure. The most basic items of DDL are the CREATE ALTER RENAME DROP and TRUNCATE statements:
CREATE creates an object (a table for example) in the database e.g.:
CREATE TABLE Mytable(
myfield1 INT
myfield2 VARCHAR(50)
myfield3 DATE NOT NULL
PRIMARY KEY (myfield1 myfield2)
);
ALTER modifies the structure of an existing object in various ways for example adding a column to an existing table or a constraint e.g.:
ALTER TABLE Mytable ADD myfield4 NUMBER(3) NOT NULL;
TRUNCATE deletes all data from a table in a very fast way deleting the data inside the table and not the table itself. It usually implies a subsequent COMMIT operation i.e. it cannot be rolled back.
TRUNCATE TABLE Mytable;
DROP deletes an object in the database usually irretrievably i.e. it cannot be rolled back e.g.:
DROP TABLE Mytable;
Data types
Each column in an SQL table declares the type(s) that column may contain. ANSI SQL includes the following datatypes.18
Character strings
CHARACTER(n) or CHAR(n) fixed-width n-character string padded with spaces as needed
CHARACTER VARYING(n) or VARCHAR(n) variable-width string with a maximum size of n characters
NATIONAL CHARACTER(n) or NCHAR(n) fixed width string supporting an international character set
NATIONAL CHARACTER VARYING(n) or NVARCHAR(n) variable-width NCHAR string
Bit strings
BIT(n) an array of n bits
BIT VARYING(n) an array of up to n bits
Numbers
INTEGER and SMALLINT
FLOAT REAL and DOUBLE PRECISION
NUMERIC(precision scale) or DECIMAL(precision scale)
SQL provides a function to round numerics or dates called TRUNC (in Informix DB2 PostgreSQL Oracle and MySQL) or ROUND (in Informix Sybase Oracle PostgreSQL and Microsoft SQL Server)19
Date and time
DATE for date values (e.g. 2011-05-03)
TIME for time values (e.g. 15:51:36). The granularity of the time value is usually a tick (100 nanoseconds).
TIME WITH TIME ZONE or TIMESTAMP the same as TIME but including details about the time zone in question.
TIMESTAMP This is a DATE and a TIME put together in one variable (e.g. 2011-05-03 15:51:36).
TIMESTAMP WITH TIME ZONE or TIMESTAMPTZ the same as TIMESTAMP but including details about the time zone in question.
SQL provides several functions for generating a date / time variable out of a date / time string (TODATE TOTIME TOTIMESTAMP) as well as for extracting the respective members (seconds for instance) of such variables. The current system date / time of the database server can be called by using functions like NOW.
Data control
The Data Control Language (DCL) authorizes users and groups of users to access and manipulate data. Its two main statements are:
GRANT authorizes one or more users to perform an operation or a set of operations on an object.
REVOKE eliminates a grant which may be the default grant.
Example:
GRANT SELECT UPDATE
ON Mytable
TO someuser anotheruser;
REVOKE SELECT UPDATE
ON Mytable
FROM someuser anotheruser;
Procedural extensions
SQL is designed for a specific purpose: to query data contained in a relational database. SQL is a set-based declarative query language not an imperative language such as C or BASIC. However there are extensions to Standard SQL which add procedural programming language functionality such as control-of-flow constructs. These include:
Source
Common
Name
Full Name
ANSI/ISO Standard
SQL/PSM
SQL/Persistent Stored Modules
Interbase/
Firebird
PSQL
Procedural SQL
IBM
SQL PL
SQL Procedural Language (implements SQL/PSM)
Microsoft/
Sybase
T-SQL
Transact-SQL
Mimer SQL
SQL/PSM
SQL/Persistent Stored Module (implements SQL/PSM)
MySQL
SQL/PSM
SQL/Persistent Stored Module (implements SQL/PSM)
Oracle
PL/SQL
Procedural Language/SQL (based on Ada)
PostgreSQL
PL/pgSQL
Procedural Language/PostgreSQL Structured Query Language (based on Oracle PL/SQL)
PostgreSQL
PL/PSM
Procedural Language/Persistent Stored Modules (implements SQL/PSM)
In addition to the standard SQL/PSM extensions and proprietary SQL extensions procedural and object-oriented programmability is available on many SQL platforms via DBMS integration with other languages. The SQL standard defines SQL/JRT extensions (SQL Routines and Types for the Java Programming Language) to support Java code in SQL databases. SQL Server 2005 uses the SQLCLR (SQL Server Common Language Runtime) to host managed .NET assemblies in the database while prior versions of SQL Server were restricted to using unmanaged extended stored procedures which were primarily written in C. Other database platforms like MySQL and Postgres allow functions to be written in a wide variety of languages including Perl Python Tcl and C.
Criticism
SQL is a declarative computer language intended for use with relational databases. Many of the original SQL features were inspired by but violated the semantics of the relational model and its tuple calculus realization. Recent extensions to SQL achieved relational completeness but have worsened the violations as documented in The Third Manifesto. Therefore it cannot be considered relational in any significant sense but is still widely called relational due to differentiation to other pre-relational database languages which never intended to implement the relational model; due to its historical origin; and due to the use of the "relational" term by product vendors.
Other criticisms of SQL include:
Implementations are inconsistent with the standard and usually incompatible between vendors. In particular date and time syntax string concatenation NULLs and comparison case sensitivity vary from vendor to vendor. A particular exception is PostgreSQL which strives for compliance and SQLite which strives to follow PostgreSQL.
The language makes it too easy to do a Cartesian join (joining all possible combinations) which results in "run-away" result sets when WHERE clauses are mistyped. Cartesian joins are so rarely used in practice that requiring an explicit CARTESIAN keyword may be warranted. (SQL 1992 introduced the CROSS JOIN keyword that allows the user to make clear that a Cartesian join is intended but the shorthand "comma-join" with no predicate is still acceptable syntax which still invites the same mistake.)
It is also possible to misconstruct a WHERE on an update or delete thereby affecting more rows in a table than desired. (A work-around is to use transactions or habitually type in the WHERE clause first then fill in the rest later.)
The grammar of SQL is perhaps unnecessarily complex borrowing a COBOL-like keyword approach when a function-influenced syntax could result in more re-use of fewer grammar and syntax rules.
The non-compliance of SQL to the relational model and specifically to the 0th rule of Codds twelve rules is another source of complexity and incompatibility.
Cross-vendor portability
Popular implementations of SQL commonly omit support for basic features of Standard SQL such as the DATE or TIME data types. The most obvious such examples and incidentally the most popular commercial proprietary SQL DBMSs are Oracle (whose DATE behaves as DATETIME2021 and lacks a TIME type22) and the MS SQL Server. As a result SQL code can rarely be ported between database systems without modifications.
There are several reasons for this lack of portability between database systems:
The complexity and size of the SQL standard means that most implementors do not support the entire standard.
The standard does not specify database behavior in several important areas (e.g. indexes file storage) leaving implementations to decide how to behave.
The SQL standard precisely specifies the syntax that a conforming database system must implement. However the standard's specification of the semantics of language constructs is less well-defined leading to ambiguity.
Many database vendors have large existing customer bases; where the SQL standard conflicts with the prior behavior of the vendor's database the vendor may be unwilling to break backward compatibility.
Software vendors often desire to create incompatibilities with other products as it provides a strong incentive for their existing users to remain loyal (see vendor lock-in).
Standardization
SQL was adopted as a standard by the American National Standards Institute (ANSI) in 1986 as SQL-8623 and the International Organization for Standardization (ISO) in 1987. The original SQL standard declared that the official pronunciation for SQL is "es queue el".6 Many English-speaking database professionals still use the nonstandard24 pronunciation /sikwl/ (like the word "sequel").
Until 1996 the National Institute of Standards and Technology (NIST) data management standards program certified SQL DBMS compliance with the SQL standard. Vendors now self-certify the compliance of their products.25
The SQL standard has gone through a number of revisions as shown below:
Year
Name
Alias
Comments
1986
SQL-86
SQL-87
First formalized by ANSI.
1989
SQL-89
FIPS 127-1
Minor revision adopted as FIPS 127-1.
1992
SQL-92
SQL2 FIPS 127-2
Major revision (ISO 9075) Entry Level SQL-92 adopted as FIPS 127-2.
1999
SQL:1999
SQL3
Added regular expression matching recursive queries triggers support for procedural and control-of-flow statements non-scalar types and some object-oriented features.
2003
SQL:2003
SQL 2003
Introduced XML-related features window functions standardized sequences and columns with auto-generated values (including identity-columns).
2006
SQL:2006
SQL 2006
ISO/IEC 9075-14:2006 defines ways in which SQL can be used in conjunction with XML. It defines ways of importing and storing XML data in an SQL database manipulating it within the database and publishing both XML and conventional SQL-data in XML form. In addition it enables applications to integrate into their SQL code the use of XQuery the XML Query Language published by the World Wide Web Consortium (W3C) to concurrently access ordinary SQL-data and XML documents.26
2008
SQL:2008
SQL 2008
Legalizes ORDER BY outside cursor definitions. Adds INSTEAD OF triggers. Adds the TRUNCATE statement.27
Interested parties may purchase SQL standards documents from ISO or ANSI. A draft of SQL:2008 is freely available as a zip archive.28
Standard structure
The SQL standard is divided into several parts including:
SQL Framework provides logical concept
SQL/Foundation defined in ISO/IEC 9075 Part 2. This part of the standard contains the most central elements of the language. It consists of both mandatory and optional features.
The SQL/Bindings specifies how SQL is to be bound to variable host languages excluding Java.
The SQL/CLI or Call-Level Interface part is defined in ISO/IEC 9075 Part 3. SQL/CLI defines common interfacing components (structures and procedures) that can be used to execute SQL statements from applications written in other programming languages. SQL/CLI is defined in such a way that SQL statements and SQL/CLI procedure calls are treated as separate from the calling application's source code. Open Database Connectivity is a well-known superset of SQL/CLI. This part of the standard consists solely of mandatory features.
The SQL/PSM or Persistent Stored Modules part is defined by ISO/IEC 9075 Part 4. SQL/PSM standardizes procedural extensions for SQL including flow of control condition handling statement condition signals and resignals cursors and local variables and assignment of expressions to variables and parameters. In addition SQL/PSM formalizes declaration and maintenance of persistent database language routines (e.g. "stored procedures"). This part of the standard consists solely of optional features.
The SQL/MED or Management of External Data part is defined by ISO/IEC 9075 Part 9. SQL/MED provides extensions to SQL that define foreign-data wrappers and datalink types to allow SQL to manage external data. External data is data that is accessible to but not managed by an SQL-based DBMS. This part of the standard consists solely of optional features.
The SQL/OLB or Object Language Bindings part is defined by ISO/IEC 9075 Part 10. SQL/OLB defines the syntax and symantics of SQLJ which is SQL embedded in Java. The standard also describes mechanisms to ensure binary portability of SQLJ applications and specifies various Java packages and their contained classes. This part of the standard consists solely of optional features.
The SQL/MM (Multimedia) This extends SQL to deal intelligently with large complex and sometimes streaming items of data such as video audio and spatial data.
The SQL/Schemata or Information and Definition Schemas part is defined by ISO/IEC 9075 Part 11. SQL/Schemata defines the Information Schema and Definition Schema providing a common set of tools to make SQL databases and objects self-describing. These tools include the SQL object identifier structure and integrity constraints security and authorization specifications features and packages of ISO/IEC 9075 support of features provided by SQL-based DBMS implementations SQL-based DBMS implementation information and sizing items and the values supported by the DBMS implementations.29 This part of the standard contains both mandatory and optional features.
The SQL/JRT or SQL Routines and Types for the Java Programming Language part is defined by ISO/IEC 9075 Part 13. SQL/JRT specifies the ability to invoke static Java methods as routines from within SQL applications. It also calls for the ability to use Java classes as SQL structured user-defined types. This part of the standard consists solely of optional features.
The SQL/XML or XML-Related Specifications part is defined by ISO/IEC 9075 Part 14. SQL/XML specifies SQL-based extensions for using XML in conjunction with SQL. The XML data type is introduced as well as several routines functions and XML-to-SQL data type mappings to support manipulation and storage of XML in an SQL database.26 This part of the standard consists solely of optional features.
Alternatives
A distinction should be made between alternatives to relational query languages and alternatives to SQL. Below are proposed relational alternatives to SQL. See navigational database for alternatives to relational:
.QL - object-oriented Datalog
4D Query Language (4D QL)
Datalog
HTSQL - URL based query method
IBM Business System 12 (IBM BS12) - one of the first fully relational database management systems introduced in 1982
ISBL
Java Persistence Query Language (JPQL) - The query language used by the Java Persistence API and Hibernate persistence library
LINQ
Object Query Language
QBE (Query By Example) created by Mosh Zloof IBM 1977
Quel introduced in 1974 by the U.C. Berkeley Ingres project.
Tutorial D
XQuery
See also
Comparison of object-relational database management systems
Comparison of relational database management systems
D (data language specification)
D4 (programming language) (an implementation of D)
Hierarchical model
List of relational database management systems
MUMPS
NoSQL
References
Paul Ryan. "A guided tour of the Microsoft Command Shell". Ars Technica. http://arstechnica.com/business/news/2005/10/msh.ars/4. Retrieved 10 April 2011.
ISO/IEC 9075-1:2008: Information technology Database languages SQL Part 1: Framework (SQL/Framework) http://www.iso.org/iso/cataloguedetail.htmcsnumber45498
Beaulieu Alan (April 2009). Mary E Treseler. ed. Learning SQL (2nd ed.). Sebastapol CA USA: O'Reilly. ISBN 978-0-596-52083-0.
s "Database Debunkings"
Codd Edgar F (June 1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM (Association for Computing Machinery) 13 (6): 37787. doi:10.1145/362384.362685. http://www.acm.org/classics/nov95/toc.html. Retrieved 2007-06-09.
a b Chapple Mike. "SQL Fundamentals". Databases. About.com. http://databases.about.com/od/sql/a/sqlfundamentals.htm. Retrieved 2009-01-28.
"Structured Query Language (SQL)". International Business Machines. October 27 2006. http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsptopic/com.ibm.db2.udb.admin.doc/doc/c0004100.htm. Retrieved 2007-06-10.
Chamberlin Donald D; Boyce Raymond F (1974). "SEQUEL: A Structured English Query Language" (PDF). Proceedings of the 1974 ACM SIGFIDET Workshop on Data Description Access and Control (Association for Computing Machinery): 24964. http://www.almaden.ibm.com/cs/people/chamberlin/sequel-1974.pdf. Retrieved 2007-06-09.
a b Oppel Andy (February 27 2004). Databases Demystified. San Francisco CA: McGraw-Hill Osborne Media. pp. 901. ISBN 0-07-146960-5. http://www.mhprofessional.com/product.phpcat112&isbn0071469605.
"History of IBM 1978". IBM Archives. IBM. http://www-03.ibm.com/ibm/history/history/year1978.html. Retrieved 2007-06-09.
ANSI/ISO/IEC International Standard (IS). Database Language SQLPart 2: Foundation (SQL/Foundation). 1999.
"Transact-SQL Reference" SQL Server Language Reference SQL Server 2005 Books Online Microsoft 2007-09-15 http://msdn2.microsoft.com/en-us/library/ms188029(SQL.90).aspx retrieved 2007-06-17
a b ISO/IEC. ISO/IEC 9075-2:2003 "SQL/Foundation". ISO/IEC.
Coles Michael (2005-06-27). "Four Rules for Nulls". SQL Server Central (Red Gate Software). http://www.sqlservercentral.com/columnists/mcoles/fourrulesfornulls.asp.
M. Negri G. Pelagatti L. Sbattella (1989) Semantics and problems of universal quantification in SQL.
Fratarcangeli Claudio (1991). Technique for universal quantification in SQL. Retrieved from ACM.org.
Kawash Jalal (2004). Complex quantification in Structured Query Language (SQL): a tutorial using relational calculus - Journal of Computers in Mathematics and Science Teaching ISSN 0731-9258 Volume 23 Issue 2 2004 AACE Norfolk Virginia. Retrieved from Thefreelibrary.com.
Information Technology Database Language SQL CMU http://www.contrib.andrew.cmu.edu/shadow/sql/sql1992.txt (proposed revised text of DIS 9075).
Arie Jones Ryan K. Stephens Ronald R. Plew Alex Kriegel Robert F. Garrett (2005) SQL Functions Programmer's Reference. Wiley 127 pages.
Lorentz Diana; Roeser Mary Beth; Abraham Sundeep; Amor Angela; Arora Geeta; Arora Vikas; Ashdown Lance; Baer Hermann et al. (2010-10) 1996 "Basic Elements of Oracle SQL: Data Types" Oracle Database SQL Language Reference 11g Release 2 (11.2) Oracle Database Documentation Library Redwood City CA: Oracle USA Inc. http://download.oracle.com/docs/cd/E1188201/server.112/e17118/sqlelements001.htm#sthref154 retrieved 2010-12-29 "For each DATE value Oracle stores the following information: century year month date hour minute and second" .
Lorentz Diana; Roeser Mary Beth; Abraham Sundeep; Amor Angela; Arora Geeta; Arora Vikas; Ashdown Lance; Baer Hermann et al. (2010-10) 1996 "Basic Elements of Oracle SQL: Data Types" Oracle Database SQL Language Reference 11g Release 2 (11.2) Oracle Database Documentation Library Redwood City CA: Oracle USA Inc. http://download.oracle.com/docs/cd/E1188201/server.112/e17118/sqlelements001.htm#sthref154 retrieved 2010-12-29 "The datetime data types are DATE" .
Lorentz Diana; Roeser Mary Beth; Abraham Sundeep; Amor Angela; Arora Geeta; Arora Vikas; Ashdown Lance; Baer Hermann et al. (2010-10) 1996 "Basic Elements of Oracle SQL: Data Types" Oracle Database SQL Language Reference 11g Release 2 (11.2) Oracle Database Documentation Library Redwood City CA: Oracle USA Inc. http://download.oracle.com/docs/cd/E1188201/server.112/e17118/sqlelements001.htm#i54335 retrieved 2010-12-29 "Do not define columns with the following SQL/DS and DB2 data types because they have no corresponding Oracle data type: TIME" .
"Finding Aid" X3H2 Records 197895 American National Standards Institute http://special.lib.umn.edu/findaid/xml/cbi00168.xml .
Melton Jim; Alan R Simon (1993). "1.2. What is SQL". Understanding the New SQL: A Complete Guide. Morgan Kaufmann. p. 536. ISBN 1558602453. "SQL (correctly pronounced "ess cue ell" instead of the somewhat common "sequel")"
Doll Shelley (June 19 2002). "Is SQL a Standard Anymore". TechRepublic's Builder.com. TechRepublic. http://articles.techrepublic.com.com/5100-1087811-1046268.html. Retrieved 2010-01-07.
a b Wagner Michael (2010). SQL/XML:2006 - Evaluierung der Standardkonformitt ausgewhlter Datenbanksysteme. Diplomica Verlag. p. 100. ISBN 3836696096.
SQL:2008 now an approved ISO international standard Sybase 2008-7 .
(Zip) SQL:2008 draft Whitemarsh Information Systems Corporation http://www.wiscorp.com/sql200n.zip .
ISO/IEC 9075-11:2008: Information and Definition Schemas (SQL/Schemata). 2008. p. 1.
Codd Edgar F (June 1970) "A Relational Model of Data for Large Shared Data Banks" Communications of the ACM 13 (6): 37787 http://www.acm.org/classics/nov95/toc.html .
Discussion on alleged SQL flaws (C2 wiki)
External links
Wikibooks has a book on the topic of
Structured Query Language
Wikibooks has a book on the topic of
SQL dialects reference
Wikiversity has learning materials about Topic:Computer Science
1995 SQL Reunion: People Projects and Politics by Paul McJones (ed.): transcript of a reunion meeting devoted to the personal history of relational databases and SQL.
American National Standards Institute. X3H2 Records 19781995 Charles Babbage Institute Collection documents the H2 committees development of the NDL and SQL standards.
Oral history interview with Donald D. Chamberlin Charles Babbage Institute In this oral history Chamberlin recounts his early life his education at Harvey Mudd College and Stanford University and his work on relational database technology. Chamberlin was a member of the System R research team and with Raymond F. Boyce developed the SQL database language. Chamberlin also briefly discusses his more recent research on XML query languages.
Comparison of Different SQL Implementations This comparison of various SQL implementations is intended to serve as a guide to those interested in porting SQL code between various RDBMS products and includes comparisons between SQL:2008 PostgreSQL DB2 MS SQL Server MySQL Oracle and Informix.
v d eSQL
Versions
SQL-86 SQL-89 SQL-92 SQL:1999 SQL:2003 SQL:2008
Keywords
Delete From Having Insert Join Merge Null Order by Prepare Select Truncate Union Update Where
v d eDatabase management systems
Database models Database normalization Database storage Distributed DBMS Federated database system Referential integrity Relational algebra Relational calculus Relational database Relational DBMS Relational model Object-relational database Transaction processing
Concepts
Database ACID CRUD Null Candidate key Foreign key Primary key Superkey Surrogate key Armstrong's axioms
Objects
Relation (Table) View Transaction Log Trigger Index Stored procedure Cursor Partition
Components
Concurrency control Data dictionary JDBC ODBC Query language Query optimizer Query plan
Database products: Object-oriented (comparison) Relational (comparison) Document-oriented
v d eQuery languages
.QL CQL CODASYL COQL D DMX Datalog ERROL ISBL LDAP MQL MDX OQL OCL Poliqarp Query Language QUEL SMARTS SPARQL SQL SuprTool TMQL XQuery XPath XSQL YQL
v d eIBM
History
Thomas J. Watson History of IBM M&As Think CEOs Operating Systems
Products
Cell microprocessor Mainframe Personal Computer POWER Information Management Lotus Rational SPSS ILOG Tivoli: Service Automation Manager WebSphere alphaWorks Criminal Reduction Utilising Statistical History Mashup Center PureQuery Lotus Software Redbooks FORTRAN
Business entities
Global Services jStart Research Sterling Commerce International
Facilities
Towers (Montreal Paris Atlanta) Software Labs (Rome Toronto) IBM Buildings (Chicago Johannesburg Seattle) Research Labs (China Tokyo Zurich Haifa India Almaden) Facilities (Hakozaki Yamato) IBM Scientific Center Hursley House Canada Head Office Building Thomas J. Watson Research Center IBM Rochester Somers Office Complex
Initiatives
Extreme Blue Internship Academy of Technology Centers for Advanced Studies: CASCON Deep Thunder IBM Fellow IBM Distinguished Engineer Pulse conference The Great Mind Challenge DeveloperWorks: Develothon ITUP Linux Technology Center IBM Virtual Universe Community Smarter Planet
Inventions
Hard disk drive Floppy disk DRAM Relational model Selectric Typewriter Financial swaps Universal Product Code
Terminology
Globally Integrated Enterprise Commercial Processing Workload Consumability Technology dividend e-business
Other
Deep Thought (chess computer) Watson (artificial intelligence software) Common Public License Customer engineer Dynamic infrastructure IBM international chess tournament International DB2 Users Group Lucifer cipher Mathematica IBM Public License SHARE computing ScicomP
Annual revenue: US$99.9 billion (FY 2010) Employees: 426751 (2010) Stock symbol: NYSE: IBM Website: ibm.com
Microsoft slates hefty Patch Tuesday to fix 34 flaws
Microsoft will issue 16 security updates next week to patch 34 vulnerabilities in Windows, Internet Explorer (IE), Office, SQL Server and other products.
Microsoft will issue 16 security updates next week to patch 34 vulnerabilities in Windows, Internet Explorer (IE), Office, SQL Server and other products.




















