What is it?
Standard Query Language (SQL) is at the heart of all relational databases, including IBM's DB2, Oracle, Microsoft's SQL Server, and open source database MySQL.
SQL perennially tops the Computer Weekly/SSL Survey of Appointments Data and Trends as the IT skill most sought-after by employers. But although in theory it has been standardised for 20 years, implementations vary widely between relational database management systems (RDBMS), to the point where an application developed for one supplier's database - and the skills needed to develop it - may not transfer easily to another.
Where did it originate?
SQL has its origins in the relational model for data storage which Ted Codd developed at IBM in 1970. An earlier form of the language was Standard English Query Language, and SQL, as we now know it, formed the basis of IBM's SQL-DS and DB2 databases in the early 1980s. But they were beaten into the field of SQL-based RDBMS by Oracle in 1979.
What is it for?
SQL was devised for manipulating data in relational database tables and, despite subsequent roles in handling extended data types, that is still, essentially, what it does. A preoccupation of both standards committees and suppliers is the integration of SQL with the XML document standard. Most data is stored in relational databases, but data is increasingly displayed and exchanged in hierarchical XML formats.
XML publishing has been added to the forthcoming SQL 2003 standard, but the dominant ways of integrating relational data with XML are by custom coding or using database suppliers' proprietary extensions. As this suggests, there has always been a gulf between the ANSI/ISO SQL standards and what suppliers offer, and the gulf seems to be widening. Although the current published standard is SQL-99, most suppliers have only implemented it selectively.
What makes it special?
Despite the differences in the way it is implemented and supported, SQL provides a basis for the exchange and integration of data from different sources. SQL has remained in constant high demand despite the decline and fall of some RDBMS suppliers, and the skills are portable, with some retraining required in the proprietary quirks of the new RDBMS.
How difficult is it to master?
You can take a "fundamentals of SQL" course lasting two or three days, but you would usually learn SQL as part of a supplier's database programming course. Most employers expect a minimum of two years' hands-on experience.
Where is it used?
SQL skills are applicable to virtually any application or database development, support and administration role.
Do not confuse ...
ISO/ANSI standards with what is available from the suppliers.
What systems does it run on?
SQL is constantly evolving for new environments. For example, Sun and a consortium of database suppliers have developed SQLJ for Java.
Not many people know that ...
SQL was originally developed as an end-user query language.
What is coming up?
SQL/XML integration standards from the World Wide Web Consortium. IBM and Oracle already implement a version of these, and Microsoft promises SQL/XML extensions with the Yukon release of SQL Server, due this year.
SQL training is available from database suppliers and many independent training organisations. There are also countless free tutorials online, although beware: many of these are seriously out-of-date.
Rates of pay
SQLprofessionals can expect to earn from £25,000 for development and support. Rates will vary depending on both sector - highest in banking and finance, where SQL is always in demand - and other skills in your portfolio.
This was first published in March 2004