Скачиваний:
17
Добавлен:
01.04.2014
Размер:
129.54 Кб
Скачать

182 Понимание sql

______________________________________________________________________

ГЛ. 14

исключения вывода, а для его маркировки или обработки его частей, ко-

гда встречается условие отличающееся от того, которое не выполняется.

Этим заканчиваются наши главы о запросах. Вы теперь имеете довольно

полное представление о поиске данных в SQL. Следующий шаг должен

включать то, как значения вводятся в таблицы и как таблицы создаются

с самого начала. Как вы увидете, запросы иногда используются внутри

других типов команд, также хорошо как и сами по себе.

ИСПОЛЬЗОВАНИЕ ПРЕДЛОЖЕНИЯ UNION 183

______________________________________________________________________

*************** РАБОТА С SQL *************

1. Создайте объединение из двух запросов которое показало бы имена,

города, и оценки всех заказчиков. Те из них которые имеют поле

rating=200 и более, должны кроме того иметь слова - " Высокий

Рейтинг ", а остальные должны иметь слова " Низкий Рейтинг ".

2. Напишите команду которая бы вывела имена и номера каждого про-

давц и каждого заказчика которые имеют больше чем один текущий

порядок. Результат представьте в алфавитном порядке.

3. Сформируйте объединение из трех запросов. Первый выбирает поля

snum всех продавцов в San Jose; второй, поля cnum всех заказчиков в

San Jose; и третий поля onum всех порядков на 3 Октября.

Сохраните дубликаты между последними двумя запросами, но устра-

ните любую избыточность вывода между каждым из их и самым пер-

вым. ( Примечание: в данных типовых таблицах, не содержится ника-

кой избыточности. Это только пример. )

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

15

ВВОД, УДАЛЕНИЕ и ИЗМЕНЕНИЕ

ЗНАЧЕНИЙ ПОЛЕЙ

186 Понимание sql

______________________________________________________________________

ГЛ. 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 не производят никакого вывода, но ваша программа должна

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

ВВОД, УДАЛЕНИЕ, И ИЗМЕНЕНИЕ ЗНАЧЕНИЙ ПОЛЕЙ 187

______________________________________________________________________

Имя таблицы ( в нашем случае - Salespeople (Продавцы)), должно быть

предварительно определено, в команде CREATE TABLE ( см. Главу 17 ),

а каждое значение пронумерованное в предложении значений, должно

совпадать с типом данных столбца, в который оно вставляется. В ANSI,

эти значения не могут составлять выражений, что означает что 3 - это

доступно, а выражение 2 + 1 - нет. Значения, конечно же, вводятся в

таблицу в поименном порядке, поэтому первое значение с именем,

автоматическми попадает в столбец 1, второе в столбец 2, на так далее.

ВСТАВКА ПУСТЫХ УКАЗАТЕЛЕЙ (NULL)

Если вам нужно ввести пустое значение(NULL), вы вводите его точно так-

же как и обычное значение. Предположим, что еще не имелось поля city

для мистера Peel. Вы можете вставить его строку со значением=NULL

в это поле, следующим образом:

INSERT INTO Salespeople

VALUES (1001, 'Peel', NULL, .12);

Так как значение NULL - это специальный маркер, а не просто символьное

значение, он не включяется в одиночные кавычки.

ИМЕНОВАНИЕ СТОЛБЦА ДЛЯ ВСТАВКИ (INSERT)

Вы можете также указывать столбцы, куда вы хотите вставить значение

имени. Это позволяет вам вставлять имена в любом порядке.

Предположим что вы берете значения для таблицы Заказчиков из отчета

выводимого на принтер, который помещает их в таком порядке:

city, cname, и cnum, и для упрощения, вы хотите ввести значения в

том же порядке:

INSERT INTO Customers (city, cnamе, cnum)

VALUES ('London', 'Honman', 2001);

Обратите внимание что столбцы rating и snum - отсутствуют. Это значит,

что эти строки автоматически установлены в значение - по умолчанию.

По умолчанию может быть введено или значение NULL или другое значе-

ние определяемое как - по умолчанию. Если ограничение запрещает ис-

пользование значения NULL в данном столбце, и этот столбец не устано-

влен как по умолчанию, этот столбец должен быть обеспечен значением

Соседние файлы в папке ПОНИМАНИЕ SQL