Освойте SQL быстро и легко! В серии «Quick Start» предпочтение отдается иллюстративным примерам, а не длинным объяснениям. Вы сразу же сможете начать работу!
Освойте SQL быстро и легко! В серии «Quick Start» предпочтение отдается иллюстративным примерам, а не длинным объяснениям. Вы сразу же сможете начать работу!
УРОВЕНЬ ПОЛЬЗОВАТЕЛЯ
9 начинающий
9 средний
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
Крис Фиайли
Москва
УДК 004.43
ББК 32.973.26-018.1
Ф48
Ф48 Фиайли К.
SQL: Пер. с англ. – М.: ДМК Пресс. – 451 с.: ил. (Серия «Quick Start»).
ISBN 5-94074-233-5
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 ©.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой
бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероят-
ность технических ошибок все равно существует, издательство не может гарантировать
абсолютную точность и правильность приводимых сведений. В связи с этим издательство
не несет ответственности за возможные ошибки, связанные с использованием книги.
Содержание
Введение ..................................................................................................................... 11
6 SQL
Содержание 7
Исключение повторных значений
с помощью предложения DISTINCT ....................................................202
Группирование строк с использованием предложения GROUP BY ..... 206
Фильтрация групп с помощью предложения HAVING ...................... 215
8 SQL
Введение
SQL – это стандартный язык программиро- этой поддержки существенно зависит от
вания, применяемый для создания, моди- того, о какой именно СУБД идет речь.
фикации, поиска и извлечения информа- Прежде чем перейти к собственно про-
ции, хранящейся в произвольной реляци- граммированию, имеет смысл познако-
онной базе данных, управляемой соответ- миться с основными идеями реляционных
ствующей системой управления базами баз данных и SQL. Так мы и поступим.
данных (СУБД).
С помощью SQL вы можете, в частности, SQL
превратить любой вопрос типа «А где жи-
вут наши клиенты?» в такую команду, ко- SQL – это:
торую программное обеспечение вашей язык программирования;
базы данных сможет понять и выполнить простой в изучении;
(для приведенного вопроса это может
непроцедурный;
быть команда SELECT city, state FROM
customers). Если вы уже умеете извлекать встроенный и/или интерактивный;
информацию аналогичного типа с помо- стандартизованный;
щью графического инструментария пост- используемый для манипулирования дан-
роения запросов, то, скорее всего, замети- ными и объектами баз данных;
ли, что он становится весьма ограничива-
ющим и громоздким по мере того, как не аббревиатура.
сложность ваших запросов возрастает. Вот Рассмотрим пункты этого списка подроб-
здесь и нужен SQL, хотя решением указан-
нее.
ной проблемы его возможности не ограни-
чиваются. Например, вы можете применять
Язык программирования
SQL для того, чтобы добавлять, модифици-
ровать и удалять данные и объекты базы SQL – один из формальных языков, то
данных. И именно потому, что язык SQL есть средство, с помощью которого вы
такой мощный, его поддерживают наибо- передаете компьютеру инструкции, назы-
лее популярные СУБД, в частности Micro- ваемые программой. Программное обес-
soft Access, Oracle и MySQL, хотя уровень печение вашей базы данных выполняет
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 не содержит таких конструкций