Structured Query Language (SQL) is a language for managing data in relational database management systems. This tag is for general SQL programming questions; it is not for Microsoft SQL Server, nor does it refer to specific dialects of SQL on its own.

SQL is an acronym, standing for "Structured Query Language" (not "Standardized"). Database interaction requires the use of SQL, and over the years - vendors have implemented extensions of SQL (such as tsql for SQL Server & Sybase, plsql for Oracle, plpgsql for PostgreSQL; there's no known tag for MySQL's extensions) to provide more functionality as well as simplify it. Because of these extensions, SQL is fractured - syntax that works on one vendor does not necessarily work on another. ANSI standards have been beneficial in resolving such situations, but adoption is selective. ANSI means that a query should be portable to other databases, but it doesn't mean that performance will be the same nor that performance will be on par with native functionality.

This tag should be used for general SQL programming language questions, in addition to tags for specific products (IE: Microsoft SQL Server, using the sql-server tag (ref)) that implement some flavor of this language. SQL is the umbrella under which these products exist; tagging them by product (including version, e.g oracle11g, sql-server-2008) is the easiest way to know what functionality is available for the task at hand.

history | excerpt history