Решил я не так давно попытаться изучить SQL для самостоятельного разбора и отладки сторонних модификаций к форуму PhpBB2, а также, возможно, написания собственных.
Первой моей ошибкой было попытаться начать этот процесс с лежащей на каждом углу тырнета
эл. книги "Мартин Грубер - Понимание SQL". Книга очень старая, нормального перевода обнаружить не удалось. Это невозможно читать.
Со второго раза я наткнулся на некоего "Пирамидина". "Пирамидин" представляет из себя несколько облагороженного Грубера, но читать это тоже невозможно.
И только с третьего раза обнаружилось нечто удобочитаемое, и понятное -
Структуризированный язык запросов (SQL)
Учебное пособие
Санкт-Петербургский Государственный институт
точной механики и оптики (технический университет)
Кафедра вычислительной техники
В.В.Кириллов, Г.Ю.Громов
http://books.kulichki.net/data/sql/sql1/
Книга более-менее современная, стиль изложения - строгий академический. Если до этого вы успешно учили по учебнику хоть какой-нибудь язык - разберетесь. Каждая возможность/команда сопровождается объяснением, примером и даже объяснением "почему так", если оно нужно.
Недостаток пожалуй только один - перегруженность терминами дискретной математики, которые я уже успел подзабыть. Но вообще это дело поправимое.
Для оффлайн-чтения книга без проблем скачивается Teleport'ом, для чтения на одним файлом (для Palm-наладонника, например) - есть утилита TXTcollector, складывающая все .txt или .htm - .html файлы в папке в один того же формата.