Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М. ГРУБЕР_SQL.doc
Скачиваний:
22
Добавлен:
18.04.2019
Размер:
1.4 Mб
Скачать

Работа с sql

  1. Создайте объединение из двух запросов, которое показало бы имена, города, и оценки всех заказчиков. Те из них, которые имеют поле rating=200 и более, должны, кроме того, иметь слова "Высокий Рейтинг", а остальные должны иметь слова "Низкий Рейтинг".

  2. Напишите команду, которая бы вывела имена и номера каждого продавца и каждого заказчика, которые имеют больше одного заказа. Результат представьте в алфавитном порядке.

  3. Сформируйте объединение из трех запросов. Первый выбирает поля snum всех продавцов в San Jose; второй, поля cnum всех заказчиков в San Jose; и третий поля onum всех Заказов на 3 Октября. Сохраните дубликаты между последними двумя запросами, но устраните любую избыточность вывода между каждым из них и самым первым. Примечание: в данных типовых таблицах не содержится никакой избыточности. Это только пример.

(См. Приложение A для ответов.)

15

Ввод, удаление и изменение значений полей

ЭТА ГЛАВА ПРЕДСТАВЛЯЕТ КОМАНДЫ, КОТОРЫЕ управляют значениями, представляемыми в таблице. Когда вы закончите эту главу, вы будете способны помещать строки в таблицу, удалять их, и изменять индивидуальные значения, представленные в каждой строке.

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

Более мощные способы проектирования предикатов будут обсуждены в следующей главе.

Команды модификации языка dml

Значения могут быть помещены и удалены из полей, тремя командами языка DML (Язык Манипулирования Данными):

Insert (вставить), update (модифицировать), delete (удалить).

Не смущайтесь, все они упоминались ранее в SQL, как команды модификации.

Ввод значений

Все строки в SQL вводятся с использованием команды модификации INSERT. В самой простой форме, INSERT использует следующий синтаксис:

INSERT INTO <table name> VALUES (<value>, <value> . . .);

Так, например, чтобы ввести строку в таблицу Продавцов, вы можете использовать следующее условие:

INSERT INTO Salespeople VALUES (1001, 'Peel', 'London', .12);

Команды DML не производят никакого вывода, но ваша программа должна дать вам некоторое подтверждение того, что данные были использованы.

Имя таблицы (в нашем случае — Salespeople — Продавцы), должно быть предварительно определено в команде CREATE TABLE (см. Главу 17), а каждое значение пронумерованное в предложении значений, должно совпадать с типом данных столбца, в который оно вставляется. В ANSI, эти значения не могут составлять выражений, что означает, что 3 — это доступно, а выражение 2 + 1 — нет. Значения, конечно же, вводятся в таблицу в поименном порядке, поэтому первое значение с именем, автоматически попадает в столбец 1, второе в столбец 2, и так далее.

Вставка пустых указателей (null)

Если вам нужно ввести пустое значение (NULL), вы вводите его точно также как и обычное значение. Предположим, что еще не имелось поля city для мистера Peel. Вы можете вставить его строку со значением=NULL в это поле, следующим образом:

INSERT INTO Salespeople VALUES (1001, 'Peel', NULL, .12);

Так как значение NULL — это специальный маркер, а не просто символьное значение, оно не заключается в одиночные кавычки.