Введение. 		11		
	Глава 1. Основные характеристики СУБД.		24		
	Выполнение программ SQL.		25		
	Microsoft Access.		27		
	Microsoft SQL Server.		30		
	Oracle.		33		
	MySQL.		36		
	PostgreSQL.		38		
	Глава 2. Реляционная модель.		41		
	Таблицы, столбцы и строки.		43		
	Первичные ключи.		47		
	Внешние ключи.		51		
	Связи.		54		
	Нормализация.		57		
	Наша типовая база данных.		63		
	Глава 3. Основы SQL.		69		
	Синтаксис SQL.		69		
	Типы данных.		75		
	Строковые типы данных.		77		
	Битовые типы данных.		79		
	Точные числовые типы данных.		80		
	Действительные числовые типы данных.		82		
	Календарные типы данных.		84		
	Интервальные типы данных.		88		
	Значение null.		90		
	Глава 4. Выбор данных из произвольной таблицы.		92		
	Выбор столбцов с помощью предложений SELECT и FROM.		93		
	Создание псевдонимов столбцов с помощью предложения AS.		96		
	Удаление повторяющихся строк с помощью ключевого слова DISTINCT.		99		
	Сортировка строк с помощью предложения ORDER BY.		101		
	Фильтрация строк с помощью предложения WHERE.		109		
	Комбинирование условий с помощью операторов AND, OR и NOT.		114		
	Сравнение по шаблону оператором LIKE.		122		
	Сравнение с диапазоном с помощью оператора BETWEEN.		128		
	Фильтрация с помощью оператора IN.		131		
	Проверка на значение null с помощью оператора IS NULL.		134		
	Глава 5. Операторы и функции.		137		
	Создание производных столбцов.		138		
	Арифметические операции.		140		
	Определение последовательности вычисления.		143		
	Объединение строк с помощью оператора II.		145		
	Выбор произвольной подстроки с помощью функции SUBSTRING().		149		
	Переключение регистра символов строки с использованием функций UPPER() и LOWER().		153		
	Удаление пробелов с помощью функции TRIM().		155		
	Определение длины произвольной строки с помощью функции СНARACTERJLENGTH ().		159		
	Поиск подстроки с использованием функции POSITION().		161		
	Операции с данными даты и времени.		165		
	Извлечение значений текущих даты и времени.		169		
	Отображение информации о пользователе.		171		
	Преобразование типов данных с помощью функции CAST().		173		
	Вычисление условных значений с помощью выражения CASE.		179		
	Проверка на значения null с использованием функции COALESCE().		184		
	Сравнение выражений с помощью функции NULLIF(). 		185		
	Глава 6. Суммирование и группировка данных.		188		
	Использование агрегатных функций.		189		
	Поиск минимума посредством функции MIN().		192		
	Поиск максимума с использованием функции МАХ().		194		
	Вычисление суммы с помощью функции SUM().		196		
	Порядок расчета среднего значения с помощью функции AVG().		198		
	Подсчет строк с помощью функции COUNTQ.		200		
	Исключение повторных значений с помощью предложения DISTINCT.		202		
	Группирование строк с использованием предложения GROUP BY.		206		
	Фильтрация групп с помощью предложения HAVING.		215		
	Глава 7. Выбор данных из нескольких таблиц.		219		
	Уточнение имен столбцов.		220		
	Создание псевдонимов таблиц с помощью предложения AS.		222		
	Использование объединений.		224		
	Создание объединений с помощью синтаксиса JOIN и WHERE.		228		
	Создание произвольного перекрестного объединения с использованием предложения CROSS JOIN.		233		
	Создание произвольного естественного объединения с использованием предложения NATURAL JOIN.		236		
	Создание внутреннего объединения с помощью команды INNER JOIN.		241		
	Создание внешних объединений с помощью команды OUTER JOIN.		265		
	Создание самообъединения.		279		
	Комбинирование строк с помощью оператора UNION.		286		
	Поиск общих строк с помощью команды INTERSECT.		295		
	Поиск разных строк с помощью команды EXCEPT.		297		
	Глава 8. Подзапросы.		299		
	Принципы работы с подзапросами.		300		
	Структура подзапросов.		302		
	Подзапросы и объединения.		303		
	Простые и сложные запросы.		307		
	Определение названий столбцов в подзапросах.		313		
	Значения null в подзапросах.		314		
	Использование подзапросов в качестве выражений в списке заголовков столбцов.		316		
	Сравнение значений, возвращаемых подзапросом, с использованием операторов сравнения.		320		
	Проверка на вхождение во множество с помощью оператора IN.		325		
	Сравнение всех значений запроса с помощью ключевого слова ALL.		333		
	Сравнение некоторых значений запроса с помощью ключевого слова ANY.		337		
	Проверка наличия выборки с помощью оператора EXISTS.		341		
	Сравнение эквивалентных запросов.		347		
	Глава 9. Добавление, обновление и удаление строк.		348		
	Отображение названий столбцов в таблице.		349		
	Вставка строк с помощью команды INSERT.		352		
	Изменение строк с помощью команды UPDATE.		358		
	Удаление строк с помощью команды DELETE.		363		
	Глава 10. Создание, изменение и удаление таблиц.		367		
	Порядок создания таблиц.		368		
	Основные принципы работы с ограничениями.		369		
	Создание новой таблицы с помощью команды CREATE TABLE.		371		
	Запрет значения null с помощью ограничения NOT NULL.		373		
	Присвоение значения по умолчанию с помощью ограничения DEFAULT.		376		
	Задание первичного ключа с помощью ограничения PRIMARY KEY.		379		
	Задание внешнего ключа с помощью ограничения FOREIGN KEY.		383		
	Присвоение уникальных значений с помощью ограничения UNIQUE.		389		
	Проверка значений столбца с помощью ограничения CHECK.		392		
	Создание временной таблицы с помощью команды CREATE TEMPORARY TABLE.		395		
	Создание новой таблицы на основе существующей с помощью команды SELECT INTO		398		
	Изменение таблицы с помощью команды ALTER TABLE		401		
	Удаление таблицы с помощью команды DROP TABLE.		404		
	Глава 11. Индексы.		405		
	Создание индекса с помощью команды CREATE INDEX.		405		
	Удаление индекса с помощью команды DROP INDEX.		409		
	Глава 12. Представления.		411		
	Создание представления с помощью команды CREATE VIEW.		411		
	Считывание данных из представления.		417		
	Изменение данных через представление.		419		
	Удаление представления с помощью команды DROP VIEW.		424		
	Глава 13. Транзакции.		425		
	Выполнение транзакций.		426		
	Приложение.		431		
	Предметный указатель.		445