Оглавление
1. Основные понятия и определения
1.1. Основные понятия реляционных баз данных
1.2. Отличие SQL от процедурных языков программирования
1.3. Интерактивный и встроенный SQL
1.4. Составные части SQL
1.5. Типы данных SQL
1.5.1. Тип данных "строка символов"
1.5.2. Числовые типы данных
1.5.3. Дата и время
1.5.4. Неопределенные или пропущенные данные (NULL)
1.6. Используемые термины и обозначения
1.7. Учебная база данных
2. Выборка данных (оператор SELECT)
2.1. Простейшие SELECT-запросы
2.2. Операторы IN, BETWEEN, LIKE, IS NULL
2.3. Преобразование вывода и встроенные функции
2.3.1. Числовые символьные и строковые константы
2.3.2. Арифметические операции для преобразования числовых данных
2.3.3. Операция конкатенации строк
2.3.4. Функции преобразования символов в строке
2.3.5. Строковые функции
2.3.6. Функции работы с числами
2.3.7. Функции преобразования значений
2.4. Агрегирование и групповые функции
2.5. Пустые значения (NULL) в агрегирующих функциях
2.5.1. Влияние NULL-значений в функции COUNT
2.5.2. Влияние NULL-значений в функции AVG
2.6. Результат действия трехзначных условных операторов
2.7. Упорядочение выходных полей (ORDER BY)
2.8. Вложенные подзапросы
2.9. Формирование связанных подзапросов
2.10. Связанные подзапросы в HAVING
2.11. Использование оператора EXISTS
2.12. Операторы сравнения со множеством IN, ANY, ALL
2.13. Особенности применения операторов ANY, ALL, EXISTS при обработке пустых значений (NULL)
2.14. Использование COUNT вместо EXISTS
2.15. Оператор объединения UNION
2.16. Устранение дублирования в UNION
2.17. Использование UNION с ORDER BY
2.18. Внешнее объединение
2.19. Соединение таблиц с использованием оператора JOIN
2.19.1. Операции соединения таблиц посредством ссылочной целостности
2.19.2. Внешнее соединение таблиц
2.19.3. Использование псевдонимов при соединении таблиц
3. Манипулирование данными
3.1. Команды манипулирования данными
3.2. Использование подзапросов в INSERT
3.2.1. Использование подзапросов, основанных на таблицах внешних запросов
3.2.2. Использование подзапросов с DELETE
3.2.3. Использование подзапросов с UPDATE