Главная страница

Язык структурных запросов sql введение


Скачать 58.6 Kb.
НазваниеЯзык структурных запросов sql введение
Дата17.03.2023
Размер58.6 Kb.
Формат файлаdocx
Имя файла1_Rabota_s_zaprosami_MySQL (1).docx
ТипМетодические указания
#996885
страница5 из 5
1   2   3   4   5

Select номер_детали

from P

where вес>16

union

Select номер_детали

from SP

where номер_поставщика='S2'


Результат:

Номер_детали

 

P1

 

P2

 

P3

 

P6

Подготовьте запрос и проверьте полученный результат.
VIII. Операторы манипулирования данными. Удаление данных

Общая форма оператора удаления:

delete from таблица [where предикат]

1. Удаление единственной записи.

Пример

Удалить сведения о поставщике S1.

delete from S

where номер_поставщика='S1'

Результат: таблица S с отсутствующей строкой о поставщике S1.

Подготовьте запрос и проверьте полученный результат.

2. Удаление множества записей.

Пример

Удалить сведения обо всех поставщиках из Лондона.

delete from S

where город='Лондон'

Результат: таблица S с отсутствующими строками о поставщиках из Лондона.

Подготовьте запрос и проверьте полученный результат.

3. Удаление с подзапросом.

Пример

Удалить все поставки для поставщиков из Лондона.

delete from SP

where 'Лондон'=

(Select город from S

where S.номер_поставщика=SP.номер_поставщика)

Результат: таблица SP с отсутствующими строками о поставках для поставщиков из Лондона.

Подготовьте запрос и проверьте полученный результат.

4. Удаление всех строк таблицы.

Пример

delete from S

Подготовьте запрос и проверьте полученный результат.

IX. Операторы манипулирования данными. Вставка данных

Общая форма оператора вставки.

Insert into таблица [(поле [,поле]...)]

values ( константа [,константа]...) или подзапрос

1. Вставка единственной записи.

Пример

Вставить новую поставку с номером поставщика S2, номером детали P4 и количеством 1000 на дату "30 ноября 1995 г.".

Insert into SP values ('S2', 'P4', '11/30/95', 1000)

Результат: таблица SP с добавленной строкой о поставке поставщиком S2 детали P4.

Подготовьте запрос и проверьте полученный результат.

2. Вставка множества записей.

Пример

Восстановить таблицу S.

Insert into S values ('S1', 'Смит', 20, 'Лондон');

Insert into S values ('S2', 'Джонс', 10, 'Париж');

Insert into S values ('S3', 'Блейк', 30, 'Париж');

Insert into S values ('S4', 'Кларк', 20, 'Лондон');

Insert into S values ('S5', 'Адамс', 30, 'Атенс')

Результат: восстановленная таблица S.

Подготовьте запрос и проверьте полученный результат.

3. Перечисление имен столбцов.

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

Пример

Вставить строку о новом поставщике, занеся лишь номер поставщика, фамилию и город.

Insert into S(номер_поставщика, фамилия, город)

values ('S6', 'Боб', 'Нью-Йорк')

Результат: добавленная строка в таблице S.

Подготовьте запрос и проверьте полученный результат.

4. Вставка множества записей как результата подзапроса.

Пример

Для каждой поставляемой детали получить ее номер и общий объем поставки, сохранить результат в базе данных.

Create table temp

(номер_детали char(6),

объем поставки smallint);

Insert into temp (номер_детали,обьем_поставки)

Select номер_детали, sum(количество)

from SP

group by номер_детали

Результат: Сформированная таблица temp, данные в которую занесены как результат указанного оператора.

Подготовьте запрос и проверьте полученный результат.

5. Построение внешнего соединения с использованием оператора Insert.

Пример

Для каждого поставщика получить его номер, фамилию, рейтинг и город вместе с номерами всех поставляемых им деталей. Если поставщик не поставляет никаких деталей, поставить в поле номер_детали значение NN.

Create table outside_t

(номер_поставщика char(5),

фамилия char(20),

рейтинг smallint,

город char(15),

номер_детали char(6));

Insert into outside_t

Select S.*, SP.номер_детали

from S, SP

where S.номер_поставщика=SP.номер_поставщика;

Insert into outside_t

Select S.*, 'NN'

from S

where not exists

(Select *

from SP

where SP.номер_поставщика = S.номер_поставщика)

Результат: Сформированная таблица outside_t с данными, представляющими собой результат внешнего соединения двух таблиц.

Подготовьте запрос и проверьте полученный результат.

X. Операторы манипулирования данными. Обновление данных

Общая форма оператора обновления

Update таблица

set поле=выражение [,поле=выражение]...[where предикат]

1. Обновление единственной записи.

Пример

Изменить цвет детали P2 на желтый, увеличить ее вес на 5 и установить значение города "неопределен".

Update P set цвет='желтый',

вес=вес+5,

город=NULL

where номер_детали='P2'

Результат: Таблица S c внесенными изменениями.

Подготовьте запрос и проверьте полученный результат.

2. Обновление множества записей.

Пример

Удвоить рейтинг всех поставщиков в Лондоне.

Update S set рейтинг=2*рейтинг

where город='Лондон'

Результат: Таблица S с увеличенным рейтингом для поставщиков из Лондона.

Подготовьте запрос и проверьте полученный результат.

3. Обновление с подзапросом.

Пример

Установить объем поставок, равный нулю для поставщиков из Лондона.

update SP set количество=0

where 'Лондон'=

(Select город

from S

where S.номер_поставщика=SP.номер_поставщика)

Результат: Таблица SP с внесенными изменениями.

Подготовьте запрос и проверьте полученный результат.
Список литературы

1.Грабер М. Введение в SQL. - М.: ЛОРИ, 1996. - 380 с. .

2. Хансен Г., Хансен Д. Базы данных и управление. - М.: Бином, 1999.

3. Дж.Уорсли, Дж. Дрейк. PostgreSQL для профессионалов. - С-Питербур: Питер, 2003.

4. Конноли Т., Бегг К., Страчан А. Базы данных. Проектирование, реализация и сопровождение. - М.- С./П.- К., 2000.

 
1   2   3   4   5


написать администратору сайта