Structured Query Language/About the Book
It's a translation and a guide
This Wikibook introduce to the programming language SQL which is defined by ISO/IEC. This standard is - similar to most standard publications - and according to its nature highly formal and not easy to read or understand. So there is a demand for a text document explaining key features of the language. And that is what the wikibook stands for: an easily readable and understandable introduction for everyone interested in the topic.
Manuals and white papers of database vendors are also focused mainly into technical aspects of their product. As they want to set itself apart from each other, they tend to emphasize those aspects, which goes behind the SQL standard and the products from other vendors. This is contrary to our approach: we want to emphasize the common aspects.
So the main audience of the wikibook are people who want to learn the language, may be as a beginner or as a person with existing knowledge and experience to some degree.
What is this wikibook not?
First of all it is not a reference manual to the syntax of standard SQL or any implementation. Reference manuals usually are made up of definitions and explanations to those definitions. In contrast the wikibook tries to lead you to concepts and basic commands by textual descriptions and examples. Of course we will demonstrate the syntax. But you may reckon that there are slight differences to your concrete implementation.
Also, it is not a complete tutorial. First, its focus is the standard and not any concrete implementation. When you learn a computer language it is necessary to work with it and experience with your own examples. Hence, you need a concrete implementation. And most of them differ from the standard more or less. Second, the wikibook is far away from reflecting the complete standard, e.g.: the central part of the standard consists of about 18 MB text in more than 1.400 pages. But you can use the wikibook as a companion on your way learning about SQL.
How to proceed?
If you are new to SQL you should study the chapters and pages from start to end. For persons with some experience to SQL and interest in a certain aspect, it should be possible to navigate directly to any page.
You need not have knowledge about any other computer language, but it will be helpful.
The wikibook consists of descriptions, definitions and examples. You should read it with care. But it is absolutly necessary that you do some experiments with data and data structures of your own. Hence you need access to a concrete database system where you can do read-only and read-write tests. For those tests you can use our example database - or you may define your own tables and data.
The elements of the language SQL are case-insensitive, e.g.: it makes no difference whether you write SELECT ..., Select ..., select ... or any combination of upper and lower case characters like SeLecT .... For readability reasons we use the convention that all language keywords are written in upper case letters and all names of user objects, e.g.: table and column names, are written in lower case letters.
We will write short SQL commands within one row.
SELECT street FROM address WHERE city = 'Duckburg';
For longer commands spawning multiple lines we use a tabular format.
SELECT street FROM address WHERE city IN ('Duckburg', 'Gotham City', 'Hobbs Lane');