This SQL tutorial is a self-study guide for SQL. The links provided below offers comprehensive coverage of the SQL language, in a detailed, logical and well organized manner.
This tutorial is divided into two sections : Microsoft SQL server and Oracle. In each section you will find relevant explanations and many exercises which will allow you to practice the SQL language.
I highly recommend reading the explanations thoroughly before performing any exercise.