Контрольная работа: SELECT
SELECT Количество FROM Склад_гр INNER JOIN Ассортимент ON (Склад_гр. ID _товара = Ассортимент. ID _товара)
ORDER ASCEND BY Наименование;
На этом закончим рассмотрение (несколько поверхностное) предложений SELECT.
3. Запросы на добавление
В дальнейшем мы будем рассматривать запросы, которые управляют непосредственно данными в таблицах, а то и самими таблицами. При их разработке и выполнении следует соблюдать осторожность, т.к. изменения, вносимые такими запросами в данные, зачастую необратимы. Естественно, что источниками данных для таких запросов могут являться только таблицы.
Иногда, зачастую в серверных базах данных или при использовании элементов программирования в MicrosoftAccess требуется динамически добавить запись в таблицу. Язык SQL предлагает использовать для этих целей предложение INSERTINTO.
Общая структура этого типа запросов такова:
INSERT INTO ИМЯ_ТАБЛИЦЫ VALUES (список значений);
Список значений всегда должен быть равен по количеству элементов количеству полей в изменяемой таблице. Если же надо ввести только некоторые поля, для остальных 0 или NULL для строковых полей. Также можно использовать выражения.
Например, есть таблица «товары»
ID_товара | Наименование | Количество |
Допустим, нам надо добавить запись в эту таблицу, но беда в том, что поле ID_товара – ключевое и иммет тип «Счетчик». Нарушать его нельзя, поэтому воспользуемся групповой операцией Max().
INSERT INTO Товары VALUES
( MAX ( ID _Товара)+1, ‘Какой-то товар’, 10);
Таким образом, мы сохранили порядок счета.
Следует заметить, что предложение INSERT является одним из самых простых в SQL. Никаких дополнительных конструкций в нем не используется.
4. Запросы на обновление
Иногда, опять-таки, зачастую при использовании элементов программирования, может потребоваться динамическое изменение всех или части записей в таблице. Для этого применяется предложение UPDATE.
Допустим, со склада раз в месяц осуществляется отгрузка. Отгружают по одному артикулу каждого товара. Если какой-то товар на складе отсутствует, его, соответственно, не отгружают.
Общая структура запросов на обновление:
UPDATE Имя_таблицы SET
(список значений или список выражений «Поле=значение»);
По умолчанию UPDATE налагает изменения на все записи таблицы. Чтобы ограничить количество затрагиваемых записей, следует использовать конструкцию WHEREтак же, как и в запросах на выборку.
Наш запрос на отгрузку будет выглядеть так:
UPDATE Товары SET (Количество=Количество – 1)
WHERE (Количество > 0);
Он-то и выполнит все необходимые действия по обработке результатов отгрузки.
5. Запросы на удаление
Встречаются ситуации, когда данные в таблицах устаревают. Допустим, есть база финансовой отчетности предприятия. И документы, которые были введены туда до 1 января 2004 года, надо удалить.
Для этого используется предложение DELETE.