SQL is an acronym that stands 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, and 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. ISO/IEC (formerly ANSI) standards have been beneficial in resolving such situations, but adoption is selective. ISO/IEC 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 (for example, questions about Microsoft SQL Server should use the sql-server tag) 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.
Free SQL Programming Books
- Developing Time-Oriented Database Applications in SQL
- Use The Index, Luke!: A Guide To SQL Database Performance
- Learn SQL The Hard Way
- SQL Tutorial For Starters
Useful Resource
You should always provide complete code examples in your question or answer, but you can also isolate problematic code and reproduce it in an online environment such as SQL Fiddle.
NOTE: The content of this tag was originally posted at StackOverflow.com
- Tom asked 16 years ago
- last active 1 year ago