Запрос на добавление позволяет вставить в физическую таблицу одну или несколько записей. Синтаксис команды запроса на добавление имеет следующий вид:
Insert into <имя таблицы>
<запрос на выборку>.
Допустим, что из таблицы поставка требуется выбрать записи с датой поставок раньше 01.01.2004 и сохранить их в таблице ПоставкаАрхив. Для этого необходимо написать следующую команду на языке SQL:
Insert into ПоставкаАрхив
Select *
From Поставка
Where ДатаПост<=#31.12.03#
Символ * означает, что из таблицы Поставка будут взяты все поля. Если необходимо выбрать только некоторые поля, они должны быть перечислены в команде Select.
Команды Insert into и Delete часто используются в паре для закрытия месяца или года в бухгалтерском учете. Для того чтобы провести реформа
таблицы поставок сначала необходимо воспользоваться командой Insert into и сохранить все записи, относящиеся к предыдущему отчетному периоду, в архивную таблицу и затем удалить эти записи из исходной таблицы при помощи команды Delete.
Логические выражения, прежде всего, используются в предложениях Where, но они могут использовать и в других местах команды SQL. В логическом выражении могут использоваться операторы And, Or, Not, Between, Like, In и некоторые другие. Команда Between используется для определения, попадает ли значение указанного выражения в указанный интервал. Команда [Дата] Between #01/01/04# and #31/01/04# позволяет определить, попадает ли выражение [Дата] в интервал между 01.01.2004 и 31.01.2004. Дата является значением поля из текущей записи в таблице или другом запросе.
Значением логически выраженной команды SQL может быть либо истина, либо ложь, либо Null, при этом в результаты запроса будут включены только те строки, для которых значения логически выраженных команд будут истинными. Строки, значения логически выраженной команды SQL принимает Null игнорируются и в результаты запроса не попадают.
Команда Between может использоваться для работы с переменными типа не только Дата/Время, но и для работы с числовыми переменными. Например:
12 Between 5 and 20
True (истина)
12 Between 17 and 20
False (ложь)
В первом случае число 12 попадает в указанный интервал, а во втором – нет, и значение выражения является ложным.
Оператор In используется для определения, входит ли указанное выражение в список значений. Выражение Город In (“Москва”,”Магнитогорск”) позволяет определить, входит ли город в список, указанный в скобках.
Различие команд Between и In заключается в следующем: оператор Between задает непрерывную область значений, в то время как оператор In задает список дискретных значений.
Оператор Like имеет следующий синтаксис:
<выражение> Like <шаблон>
Выражение представляет собой некоторое значение, которое сравнивается с шаблоном. Как правило, это строковое выражение. Если значение соответствует шаблону, возвращается значение Истина, в противном случае возвращается значение Ложь.
Для формирования шаблонов используются специальные знаки подстановки. Символ * соответствует любому символу или последовательности символов, знак ? соответствует любой букве или цифре (любому символу), а знак # соответствует любой арабской цифре. Например, шаблон “П*” соответствует всем словам, которые начинаются с буквы П (Петя, пять, прыгать), а шаблон “??тя” – всем четырехбуквенным словам, оканчивающихся на тя (Петя, Митя).