Данная книга является очень хорошим введением в теорию реляционных БД для пользователей-новичков, а также хорошим началом в освоении SQL, грамотном построение запросов, понимании того как эти запросы работают. Безусловно рекомендуется к прочтению для начинающих пользователей.
Содержание:
МАРТИН ГРУБЕР - Понимание SQL 1
Команда SELECT 1
Команды UPDATE, INSERT, DELETE 1
Команда CREATE TABLE 1
ПРЕДИСЛОВИЕ 2
Глава 1. ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ БАЗУ ДАННЫХ 2
Глава 2. SQL : ОБЗОР. 4
Глава 3. ИСПОЛЬЗОВАНИЕ SQL ДЛЯ ИЗВЛЕЧЕНИЯ ИНФОРМАЦИИ ИЗ ТАБЛИЦ. 6
Глава 4. ИСПОЛЬЗОВАНИЕ РЕЛЯЦИОННЫХ И БУЛЕВЫХ ОПЕРАТОРОВ ДЛЯ СОЗДАНИЯ БОЛЕЕ ИЗОЩРЕННЫХ ПРЕДИКАТОВ 8
Глава 5. ИСПОЛЬЗОВАНИЕ СПЕЦИАЛЬНЫХ ОПЕРАТОРОВ В УСЛОВИЯХ 10
Глава 6. ОБОБЩЕНИЕ ДАННЫХ С ПОМОЩЬЮ АГРЕГАТНЫХ ФУНКЦИЙ 12
Глава 7. ФОРМИРОВАНИЕ ВЫВОДОВ ЗАПРОСОВ 14
Глава 8. ЗАПРАШИВАНИЕ МНОГОЧИСЛЕНЫХ ТАБЛИЦ ТАКЖЕ КАК ОДНОЙ 17
Глава 9. ОБЪЕДИНЕНИЕ ТАБЛИЦЫ С СОБОЙ 18
Глава 10. ВСТАВКА ОДНОГО ЗАПРОСА ВНУТРЬ ДРУГОГО 20
Глава 11. СООТНЕСЕННЫЕ ПОДЗАПРОСЫ 22
Глава 12. ИСПОЛЬЗОВАНИЕ ОПЕРАТОРА EXISTS 24
Глава 13. ИСПОЛЬЗОВАНИЕ ОПЕРАТОРОВ ANY, ALL, И SOME 26
Глава 14. ИСПОЛЬЗОВАНИЕ ПРЕДЛОЖЕНИЯ UNION 30
Глава 15. ВВОД, УДАЛЕНИЕ и ИЗМЕНЕНИЕ ЗНАЧЕНИЙ ПОЛЕЙ 32
Глава 16. ИСПОЛЬЗОВАНИЕ ПОДЗАПРОСОВ С КОМАНДАМИ МОДИФИКАЦИИ 34
Глава 17. СОЗДАНИЕ ТАБЛИЦ 36
Глава 18.ОГРАНИЧЕНИЕ ЗНАЧЕНИЙ ВАШИХ ДАННЫХ 38
Глава 19. ПОДДЕРЖКА ЦЕЛОСТНОСТИ ВАШИХ ДАННЫХ 41
Глава 20. ВВЕДЕНИЕ: ПРЕДСТАВЛЕНИЯ 44
Глава 21. ИЗМЕНЕНИЕ ЗНАЧЕНИЙ С ПОМОЩЬЮ ПРЕДСТАВЛЕНИЙ 46
Глава 22. КТО ЧТО МОЖЕТ ДЕЛАТЬ В БАЗЕ ДАННЫХ 49
Глава 23. ГЛОБАЛЬНЫЕ АСПЕКТЫ SQL 52
Глава 24. КАК ДАННЫЕ SQL СОДЕРЖАТСЯ В УПОРЯДОЧЕННОМ ВИДЕ 55
Глава 25. ИСПОЛЬЗОВАНИЕ SQL С ДРУГИМ ЯЗЫКОМ 59
Приложение A. ОТВЕТЫ ДЛЯ УПРАЖНЕНИЙ 64
Приложение B. ТИПЫ ДАННЫХ В SQL 66
Приложение C. НЕКОТОРЫЕ ОБЩИЕ НЕСТАНДАРТНЫЕ СРЕДСТВА SQL 67
Приложение D. СИНТАКСИС И КОМАНДА ССЫЛКИ 69
Приложение E. ТАБЛИЦЫ ИСПОЛЬЗУЕМЫЕ В КНИГЕ 73
МАРТИН ГРУБЕР
Понимание SQL
Перевод Лебедева В.Н.
Под редакцией Булычева В.Н.
МОСКВА, 1993
MARTIN GRUBER
Understanding SQL
Команда SELECT
SELECT * | { [ DISTINCT | ALL] <value expression>.,..}
FROM { <table name> [ <alias> ] }.,..
[ WHERE <predicate>]
[ GROUP BY { <column name> | <integer> }.,..]
[ HAVING <predicate>]
[ ORDERBY { <column name> | <integer> }.,..]
[ { UNION [ALL]
SELECT * | { [DISTINCT | ALL] < value expression >.,..}
FROM { <table name> [<alias>]} .,..
[ WHERE <predicate>
[ GROUP BY { <columnname> | <integer> }.,..]
[ HAVING <predicate>]
[ ORDER BY { <columnname> | <integer> }.,..] } ] ...;
Элементы, используемые в команде SELECT
ЭЛЕМЕНТ | ОПРЕДЕЛЕНИЕ |
<value expression> | Выражение, которое производит значение. Оно может включать в себя или содержать <column name>. |
<table name> | Имя или синоним таблицы или представления |
<alias> | Временный синоним для <table name>, определеный в этой таблице и используемый только в этой команде |
<predicate> | Условие , которое может быть верным или неверным для каждой строки или комбинации строк таблицы в предложении FROM. |
<column name> | Имя столбца в таблице. |
<integer> | Число с десятичной точкой. В этом случае, оно показывает <value expression> в предложении SELECT с помощью идентификации его местоположения в этом предложении. |
Команды UPDATE, INSERT, DELETE
UPDATE
UPDATE <tablename>
SET { | }.,. .< column name> = <value expresslon> [ WHERE <predlcate>
| WHERE CURRENT OF <cursor name> (*только для вложения*) ];
INSERT
INSERT INTO < table name> [(<column name> .,. ]
{ VALUES ( <value expression> .,.. ) } | <query>;
DELETE
DELETE FROM <table name>
[ WHERE <predicate>
| WHERE CURRENT OF <cursor name> (*только для вложения*) ];
ЭЛЕМЕНТ | ОПРЕДЕЛЕНИЕ |
<cursor name> | Имя курсора используемого в этой программе. |
<query> | Допустимая команда SELECT. |
Для других элементов смотри команду SELECT.
Символы Используемые в Синтаксисе Предлжения
СИМВОЛ | ОБЪЯСНЕНИЕ |
| | Любой предшествующий знаку (|) символ может быть произвольно заменен на любой следующий за (|). Это - символический способ высказывания "или" ("or"). |
{ } | Все, что включено в фигурные скобки обрабатывается как модуль с целью оценки |, .,.. или других символов. |
[ ] | Все,включенное в квадратные скобки является необязательным |
... | Любое, предшествующее этому, может повторяться любое число раз. |
.,.. | Любое, предшествующее этому, и в каждом случае отделенное |
запятыми, может повторяться любое число раз.
Команда CREATE TABLE
CREATE TABLE <table name>
( { <column name> <data type> | <size>]
[<colcnstrnt> ...]} .,.. );
[<tabconstrnt>] .,.. );
Элементы, используемые в команде CREATE TABLE
ЭЛЕМЕНТ | ОПРЕДЕЛЕНИЕ |
<table name> | Имя таблицы создаваемой этой командой. |
<column name> | Имя столбца таблицы. |
<data type> | Тип данных |
Тип данных, который может содержаться в столбце.