Копирование данных из одной таблицы в другую — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Копирование данных из одной таблицы в другую

2017-09-27 177
Копирование данных из одной таблицы в другую 0.00 из 5.00 0 оценок
Заказать работу

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

Пример 12

INSERT INTO Сегодня

SELECT *

FROM Покупка

WHERE Дата = cdate(“18.12.2014”);

В результате выполнения этого запроса вся информация о покупках за 18 декабря 2014 года заносится в таблицу Сегодня.

Замечание 1. Таблица Сегодня нами уже предварительно создана и имеет такую же структуру, что и таблица Покупка.

Замечание 2. Этот запрос является примером подчинённого запроса, во внутреннем запросе из таблицы Покупка выбираются записи, содержащие информацию о покупках за 18 декабря 2014 года, а во внешнем запросе они копируются в таблицу Сегодня. О подчинённых запросах более подробно будет рассказано на следующем семинаре.

Удаление таблицы

Чтобы удалить существующую таблицу, необходимо предварительно удалить все данные из этой таблицы, т.е. сделать её пустой. Таблица, имеющая строки не может быть удалена. Инструкция удаления таблицы имеет вид:

 

DROP TABLE <Имя таблицы>;

 

Пример 13

Инструкция

DELETE FROM Сегодня;

удаляет все строки таблицы Сегодня. В результате таблица Сегодня становится пустой.

 

Пример 14

Инструкция

DROP TABLE Сегодня;

удаляет таблицу Сегодня.

Задание. Выполните на компьютере все запросы, представленные на этом семинаре.

 

 

Домашнее задание 3.1

(по базе данных «Косметическая фирма»)

1. В таблице Продукция внесите изменения в записи, в которых содержится информация о шампунях, увеличив количество баллов в 1,6 раза.

2. В таблице Продукция удалите записи, касающиеся продукта Крем для рук.

3. Введите в таблицу Продукция строку с новым продуктом: Пудра, наименование - Бежевая, цена - 760 рублей. Указать, что за этот продукт начисляется 12 баллов.

4. Внесите изменения в таблицу Продукция, касающиеся одеколона «Прохлада», увеличив количество баллов на 5, а цену на 105 рублей.

5. Создайте таблицу Покупка декабрь 2014 года и заполните её информацией из таблицы Покупка.

Домашнее задание 3.2

(по базе данных «Борей»)

1. В таблице Товары увеличьте цену на напитки в 1,2 раза.

2. В таблице Товары удалите товары, поставляемые ООО Экзотика.

3. В таблицу Товары внесите информацию по новому продукту.

4. Внесите изменения в таблицу Товары по приправам, увеличив цену на 15 рублей, а минимальный запас - на 5.

5. Создайте таблицу Заказы сентябрь 1996 и заполните её информацией из таблицы Заказы (по дате исполнения).

 

ПЕРЕХОД НА Оглавление

 


Семинар №13

Подчинённые запросы.

Объединение запросов с помощью конструкции UNION

Часто невозможно решить задачу путём использования одного запроса. Это происходит в тех случаях, когда значение (или несколько значений), с которыми надо сравнивать, заранее не определено и должно быть вычислено в момент выполнения запроса.

Запрос называется подчинённым, если он находится внутри другого запроса. При этом основной запрос использует данные, предоставляемые подчинённым запросом.

Подчинённым запросом называют команду SELECT, вложенную в запрос SELECT, SELECT…INTO, INSERT…INTO, DELETE, UPDATE или в другой подчинённый запрос.

В том случае, когда подчинённый запрос находится внутри запроса SELECT, запрос выглядит следующим образом:

SELECT <Имена полей>

FROM <Имена таблиц>

WHERE <Поле> <Оператор сравнения>

(SELECT <Имя поля>

FROM <Имя таблицы>

[WHERE…]

…);

Замечание. Оператор SELECT подзапроса может выбирать только одно поле. Попытка произвести выборку нескольких полей приведёт появлению сообщения об ошибке.

Рассмотрим несколько подчинённых запросов к базе данных «Косметическая фирма».

Пример 1

SELECT *

FROM Продукция

WHERE Баллы>

(SELECT AVG (Баллы)

FROM Продукция);

 

Как вы видите, во внутреннем запросе вычисляется средний балл, начисляемый клиенту при покупке косметики, по прайс-листу. Затем во внешнем запросе на основе полученного значения в прайс-листе находится вся информация об этой продукции. Значение поля Баллы в условии WHERE сравнивается со средним значением, полученным во внутреннем запросе с помощью оператора сравнения «>».

Пример 2

SELECT*

FROM Покупка

WHERE КодТовара =

(SELECT КодТовара

FROM Продукция

WHERE Цена=350);

В результате выполнения этого запроса выводится вся информация о покупке товара стоимостью 350 рублей.

Задание. Рассмотрите два варианта:

· В таблице Продукция один продукт с ценой 350 рублей.

· В таблице Продукция несколько продуктов с ценой 350 рублей.

В том случае, когда несколько товаров имеют цену 350 рублей, мы во внутреннем запросе получим несколько названий продуктов (множество продуктов), и использование оператора «=» становится невозможным.

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

Пример 3

SELECT *

FROM Продукция

WHERE Баллы IN (3, 5, 7, 8);

 

Результатом этого запроса является информация о продукции, за которую начисляется 3, 5, 7 или 8 баллов. А теперь давайте посмотрим использование этого оператора в подчиненном запросе.

Пример 4

SELECT *

FROM Покупка


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.013 с.