0% нашли этот документ полезным (0 голосов)
9 просмотров9 страниц

Освойте SQL быстро и легко! В серии «Quick Start» предпочтение отдается иллюстративным примерам, а не длинным объяснениям. Вы сразу же сможете начать работу!

Книга 'SQL: Visual QuickStart Guide' Крис Фиайли предназначена для быстрого освоения языка SQL с использованием визуального подхода и множества иллюстраций. Она охватывает основные аспекты работы с реляционными базами данных, включая запросы, модификацию данных и работу с различными СУБД. Издание подходит как для начинающих, так и для тех, кто хочет улучшить свои знания в SQL.

Загружено:

husenova1169
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
9 просмотров9 страниц

Освойте SQL быстро и легко! В серии «Quick Start» предпочтение отдается иллюстративным примерам, а не длинным объяснениям. Вы сразу же сможете начать работу!

Книга 'SQL: Visual QuickStart Guide' Крис Фиайли предназначена для быстрого освоения языка SQL с использованием визуального подхода и множества иллюстраций. Она охватывает основные аспекты работы с реляционными базами данных, включая запросы, модификацию данных и работу с различными СУБД. Издание подходит как для начинающих, так и для тех, кто хочет улучшить свои знания в SQL.

Загружено:

husenova1169
Авторское право
© All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd

Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

УРОВЕНЬ ПОЛЬЗОВАТЕЛЯ

9 начинающий
9 средний

QUICK START
опытный
профессиональный

SQL КРИС ФИАЙЛИ QUICK START

SQL
Вы хотите быстро освоить SQL?
Нет проблем! Выбирайте серию

SQL
«Quick Start»!
В этой серии при обучении работе с SQL
применяется визуальный подход, множество иллюстраций
помогут вам в освоении данного материала.
Книгу можно использовать как справочник – ищете
интересующий вас раздел и сразу приступаете к работе.
Никаких скучных отступлений – краткие и понятные комментарии
содержат только необходимую информацию. Освойте SQL Руководство
На сайте [Link] вы найдете дополнительные
материалы и примеры к книге. быстро и легко!
Крис Фиайли также является автором книги «Python: Visual QuickStart
для
Guide». На сегодняшний день в числе его увлечений – языки В серии «Quick Start»
программирования, рекламирование биоинформатики и игра в го.
Крис – дипломированный специалист в области статистики предпочтение использования
и экономики. КРИС ФИАЙЛИ
отдается с любыми
иллюстративным SQL СУБД
Peachpit Press
[Link] Internet-магазин
[Link] ISBN 5-94074-233-5
примерам, а не
[Link]
ДМК Пресс
[Link] e-mail: orders@[Link]
Web'сайт издательства
длинным объяснениям.
[Link]
ТРЕБОВАНИЯ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ:
Windows 98 SE/ME; NT 4/2000; XP
Mac OS 9.1 и выше; Mac OS X 10.1 и выше
Книга – почтой
Россия, 123242,
Москва, а/я 20
Вы сразу же сможете
тел./факс: (095) 258-9194, 9 785940 742333
КАТЕГОРИЯ:
Базы данных / Языки программирования / SQL
(095) 258'9195 начать работу!
Перейти на страницу с полной версией»
Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

QUICK START

SQL
Крис Фиайли

Москва

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

УДК 004.43
ББК 32.973.26-018.1
Ф48
Ф48 Фиайли К.
SQL: Пер. с англ. – М.: ДМК Пресс. – 451 с.: ил. (Серия «Quick Start»).

ISBN 5-94074-233-5

Книга посвящена языку программирования SQL, применяемому для рабо-


ты с реляционными базами данных. Обсуждается версия языка ANSI SQL-92
(SQL2).
В настоящем издании рассказывается об использовании запросов SQL для
решения соответствующих классов задач по выборке данных, их модифика-
ции или по работе с объектами структуры базы данных. Все конструкции под-
робно описываются и иллюстрируются большим количеством примеров. Кро-
ме того, для каждого типа запросов рассматриваются отклонения от стандарта
в реализации наиболее распространенных СУБД: MS Access, MS SQL Server,
Oracle, MySQL и PostgreSQL.
Книга предназначена всем тем, кто желает самостоятельно изучить язык
SQL или усовершенствовать свои знания по этой теме.

Authorized translation from the English language edition, entitled SQL: VISUAL QUICKSTART
GUIDE, 1st Edition, 0321118030 by FEHILY, CHRIS, published by Pearson Education, Inc,
publishing as Peachpit Press, Copyright ©.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by
any means, electronic or mechanical, including photocopying, recording or by any information
storage retrieval system, without permission from Pearson Education, Inc. RUSSIAN language
edition published by DMK PRESS, Copyright ©.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой
бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероят-
ность технических ошибок все равно существует, издательство не может гарантировать
абсолютную точность и правильность приводимых сведений. В связи с этим издательство
не несет ответственности за возможные ошибки, связанные с использованием книги.

ISBN 0-201-11803-0 (англ.) © Peachpit Press


ISBN 5-94074-233-5 (рус.) © Перевод на русский язык, оформление
ДМК Пресс

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

Содержание
Введение ..................................................................................................................... 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

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

6 SQL

Глава 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
Объединение строк с помощью оператора || ...................................... 145
Выбор произвольной подстроки
с помощью функции SUBSTRING() ..................................................... 149
Переключение регистра символов строки
с использованием функций UPPER() и LOWER() .............................. 153
Удаление пробелов с помощью функции TRIM() ............................. 155
Определение длины произвольной строки
с помощью функции CHARACTER_LENGTH() ................................ 159
Поиск подстроки с использованием функции POSITION() ............. 161
Операции с данными даты и времени .................................................. 165
Извлечение значений текущих даты и времени .................................. 169
Отображение информации о пользователе ......................................... 171
Преобразование типов данных с помощью функции CAST() .......... 173
Вычисление условных значений с помощью выражения CASE ........ 179
Проверка на значения null
с использованием функции COALESCE() ............................................ 184
Сравнение выражений с помощью функции NULLIF() .................... 185

Глава 6. Суммирование и группировка данных ..................................... 188


Использование агрегатных функций ................................................... 189
Поиск минимума посредством функции MIN() ................................ 192
Поиск максимума с использованием функции MAX() ..................... 194
Вычисление суммы с помощью функции SUM() .............................. 196
Порядок расчета среднего значения с помощью функции AVG() ....198
Подсчет строк с помощью функции COUNT() ................................. 200

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

Содержание 7
Исключение повторных значений
с помощью предложения 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

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

8 SQL

Глава 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

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

Введение
SQL – это стандартный язык программиро- этой поддержки существенно зависит от
вания, применяемый для создания, моди- того, о какой именно СУБД идет речь.
фикации, поиска и извлечения информа- Прежде чем перейти к собственно про-
ции, хранящейся в произвольной реляци- граммированию, имеет смысл познако-
онной базе данных, управляемой соответ- миться с основными идеями реляционных
ствующей системой управления базами баз данных и SQL. Так мы и поступим.
данных (СУБД).
С помощью SQL вы можете, в частности, SQL
превратить любой вопрос типа «А где жи-
вут наши клиенты?» в такую команду, ко- SQL – это:
торую программное обеспечение вашей „ язык программирования;
базы данных сможет понять и выполнить „ простой в изучении;
(для приведенного вопроса это может
„ непроцедурный;
быть команда SELECT city, state FROM
customers). Если вы уже умеете извлекать „ встроенный и/или интерактивный;
информацию аналогичного типа с помо- „ стандартизованный;
щью графического инструментария пост- „ используемый для манипулирования дан-
роения запросов, то, скорее всего, замети- ными и объектами баз данных;
ли, что он становится весьма ограничива-
ющим и громоздким по мере того, как „ не аббревиатура.
сложность ваших запросов возрастает. Вот Рассмотрим пункты этого списка подроб-
здесь и нужен SQL, хотя решением указан-
нее.
ной проблемы его возможности не ограни-
чиваются. Например, вы можете применять
Язык программирования
SQL для того, чтобы добавлять, модифици-
ровать и удалять данные и объекты базы SQL – один из формальных языков, то
данных. И именно потому, что язык SQL есть средство, с помощью которого вы
такой мощный, его поддерживают наибо- передаете компьютеру инструкции, назы-
лее популярные СУБД, в частности Micro- ваемые программой. Программное обес-
soft Access, Oracle и MySQL, хотя уровень печение вашей базы данных выполняет

Перейти на страницу с полной версией»


Copyright ОАО «ЦКБ «БИБКОМ» & ООО «Aгентство Kнига-Cервис»

Перейти на страницу с полной версией»

12 SQL
эту программу, написанную на языке SQL. Простой в изучении
Это значит, что СУБД выполняет те запро-
сы, которые вы ей передали, и отображает Уточним: SQL прост в изучении по сравне-
результаты их работы, в том числе какое- нию с другими языками программирова-
нибудь сообщение об ошибке. Надо сказать, ния. Дело в том, что, если вы пока не на-
что языки программирования, называемые писали ни одной программы, переход от
также формальными языками, отличают- неформального языка к любому формаль-
ся от языков общения, называемых нефор- ному языку вас поначалу сильно разоча-
рует. Тем не менее подчеркнем, что ко-
мальными или естественными языками,
манды на SQL читаются как предложения
главным образом тем, что создаются под
неформального языка, что уже сильно об-
конкретную цель, полностью лишены дву-
легчает понимание смысла. Так, любой
смысленности, имеют весьма ограниченные
новичок в программировании, скорее все-
словарный запас и гибкость. Таким обра-
го, поймет, что записанная на SQL коман-
зом, если вы не получили результата от ра-
да SELECT au_fname, au_lname FROM authors
боты своей программы, на который рас-
ORDER BY au_lname совпадает по смыслу с
считывали при ее написании, это произош-
предложением «Перечислить имена и фа-
ло потому, что ваша программа содержит
милии всех авторов, сортируя их по фами-
какую-либо ошибку (логическую или син-
лиям». Но этот человек почти наверняка
таксическую – в последнем случае, скорее
сочтет эквивалентную по смыслу програм-
всего, будет выведено соответствующее со-
му, написанную на C или на Perl, абсолют-
общение, описывающее ошибку), а не по-
но непонятной.
тому, что компьютер неправильно понял
ваши инструкции, формализованные в виде
Непроцедурный
программы (эта информация проясняет,
почему отладка программ считается одной Заметим сразу: если вы никогда не програм-
из основных задач программирования). мировали, то можете пропустить этот раз-
Будучи формальным языком, SQL, как дел, не беспокоясь об утрате целостности
и другой язык этого типа, имеет свои син- восприятия остального материала; но если
таксис и семантику. Синтаксис включает вы программировали на C или Perl, то имели
собственно слова и символы, которые вы дело с процедурным языком. А для любого
можете применять, а также правила, по процедурного языка программист должен
которым эти слова и символы можно ис- явно прописывать шаги, которые выполняет
пользовать при создании команд и про- компьютер, чтобы получить желаемый ре-
грамм. Семантика помогает выяснить ре- зультат. SQL относится к непроцедурным
альное значение, смысл любой синтакси- языкам (такие языки еще называют «декла-
чески правильной команды. Вы вполне ративными»). Программируя на таком язы-
можете написать на SQL какую-нибудь ке, вам надо описать то, что именно вы хо-
команду, соответствующую синтаксису тите сделать, а не то, как вы собираетесь
языка, которая, тем не менее, будет выра- это делать. В случае с SQL оптимизатор,
жать неверный смысл (то есть будет пра- который входит в состав программного
вильной синтаксически, но неверной семан- обеспечения вашей СУБД, самостоятельно
тически). Подробнее о синтаксисе и семан- рассчитает это самое «как». Именно поэто-
тике SQL рассказывается в главе 3. му SQL не содержит таких конструкций

Перейти на страницу с полной версией»

Вам также может понравиться