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 | show excerpt | excerpt history