Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
157
Добавлен:
16.04.2013
Размер:
6.72 Mб
Скачать

33. Условия поиска с вложенным запросом.

1) Сравнение с результатом вложенного запроса.

2) Проверка на принадлежность результатам вложенного запроса.

3) Проверка на существование результатов вложенного запроса.

4) Многократное сравнение.

1) Сравнение с результатом вложенного запроса.

=

<>

>=

<=

<

...

2) Проверка на принадлежность результатам вложенного запроса.

SELECT * FROM FLAT WHERE ADR NOT IN (SELECT ADR FROM TPHONE).

3) Проверка на существование результатов вложенного запроса.

SELECT *FROM PERSON

WHERE EXISTS (SELECT ID FROM HAVE_D, PROVIT

WHERE PROVIT.ID = HAVE_D.ID

AND MONEYS > 100

AND PERSON.NOM = HAVE_D.NOM ), где PERSON.NOM – внешняя ссылка

4

=

<>

>=

<=

<

...

) Многократное сравнение.

При наличии слова ANYпроверяемое выражение(значение) поочередно сравнивается с каждым значением, содержащемся в столбце, который сформирован вложенным запросом. Если какое-либо из этих сравнений дает результатTRUE, то проверкаANY возвращает результатTRUE. Еcли все сравнения ложные, то проверкаANYвозвращает значениеFALSE.

Проверка ALLпоочередно сравнивается с каждым значением, содержащимся в столбце, который сформирован вложенным запросом. Если все значения в результате сравнения дают значениеTRUE, то проверкаALLвозвращаетTRUE, если хотя бы 1 проверка будет ложной, тоALLвозвращаетFALSE.

34. Внесение изменений в бд: добавление, удаление и обновление данных.

Добавление новых элементов.

Наименьшей единицей информации, которую можно добавить в базу данных, является одна строка.

Существует 2 способа добавления новых строк:

  1. однострочный оператор INSERT, включающий в таблицу 1 строку

  2. многострочный оператор INSERT, обеспечивающий извлечение строк из одной базы данных (таблицы) в другую таблицу.

1

InsertintOимя таблицы, в которую добавляется строка

)

INSERTINTOFLATVALUES(‘Зеленоград, 8.12.04 1101-12’, 40, 3, ‘Н’)- вставляет строку в таблицуFLAT.

При добавлении новой строки в таблицу всем столбцам, имена которых отсутствуют в списке оператора INSERT, СУБД автоматически присваивает нулевое значение, либо значение, заданное по умолчанию при описании структуры таблицы.

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

2) Многострочный оператор

Он добавляет в целевую таблицу 1 или несколько строк. Источником новых строк является запрос на чтение, содержащейся внутри оператора INSERT.

INSERT INTO PERSON(FIO, RDATE, POL,SUMD, ADR)

SELECT ‘Алов Наум Наумович’, ’01-JAN-1970’, ‘М’, SUMD, ‘Зеленоград, 1001 - 51’

FROMPERSON

WHERENOM= 16.

При отсутствии строки под номером 16, СУБД выдаст сообщение об ошибке, т.к. невозможно совершить преобразование пустой строки.

Удаление существующих данных

Наименьшей единицей информации, которую можно удалить из БД является 1 строка. Для удаления строк из 1-й таблицы используется оператор DELETE.

DELETEFROM– имя_таблицы -----------------------------------------

| |

WHERE– условие_поиска

В операторе DELETEпредложениеFROMсодержит имя таблицы, из которой будут браться данные.

DELETE FROM TPHONE WHERE ADR = ‘Зеленоград, 1001-45’

Удалятся все строки с жителями, проживавшими по адресу «Зеленоград, 101-45».

Если предложение WHEREотсутствует, то и заданной таблицы удаляются все строки.

Соседние файлы в папке бд