Язык манипуляции данными в SQL
…язык учителя дзэн передает идеи, а не чувства или намерения. И поэтому он играет не ту роль, какую обычно играет язык; поскольку выбор фраз исходит от учителя, то чудо свершается в той области, которая ему присуща, и ученик раскрывается сам себе, понимает себя, и таким образом обычная фраза становится ключом.
— Х. Кортасар, Игра в классики
Данная книга ориентирована на практическое применение языка SQL, то есть в первую очередь на использование оператора SELECT, реализующего выборку данных из реляционных СУБД, и операторов INSERT, UPDATE и DELETE, которые служат для модификации данных. Эти операторы и составляют тот подъязык SQL, который называется языком манипуляции данными (или DML — Data Manipulation Language). В этой «теоретической» части мы старались придерживаться тех синтаксических конструкций рассматриваемых операторов, которые, во-первых, полностью соответствуют стандарту SQL-92, и, во-вторых, поддерживаются практически всеми производителями реляционных СУБД. Естественно, нельзя было обойти вниманием и некоторые особенности реализации. Это обусловлено тем, что имеющиеся в каждой реализации расширения стандарта позволяют зачастую более компактно написать запрос, а также тем, что некоторые моменты не стандартизируются и, как правило, опускаются на уровень реализации. Поскольку сайт sql-ex.ru изначально работал с MS SQL Server, то особенности реализации, которые оговариваются отдельно, относятся по большей части именно к этому продукту. В частности, это касается функций работы со строками и значениями типа даты/времени, которые рассматриваются в главе раздела “Готовимся ко второму этапу тестирования”. Вместе с тем материалы учебника регулярно пополняются примерами диалектических различий в других ведущих СУБД. Следует отметить, что практически все рассматриваемые здесь задачи, составляющие первый обучающий этап тестирования на сайте, можно решить, пользуясь исключительно стандартными средствами. Это могут подтвердить многочисленные посетители сайта, которые в своей профессиональной деятельности используют различные СУБД от FoxPro до Oracle.
Описание синтаксиса операторов языка сопровождается многочисленными примерами запросов, которые адресуются к учебным базам данных, краткое описание которых приводится в Приложении 1. Кроме того, многие параграфы сопровождаются перечнем упражнений, рекомендуемых к решению на сайте sql-ex.ru для закрепления соответствующего материала. Формулировки всех заданий, рассматриваемых в этом учебнике, приведены в Приложении 2.