Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник EXCEL БД SQL.doc
Скачиваний:
2
Добавлен:
26.11.2018
Размер:
2.62 Mб
Скачать

Инструкция: delete

Инструкция DELETE позволяет создать запрос на удаление записей из одной или нескольких таблиц.

Синтаксис:

DELETE

FROM имя таблицы

WHERE условие отбора;

Пример:

Удалить все записи в таблице «Студенты»

если в поле «Экзамен» стоит 2.

DELETE

FROM Студенты

WHERE Экзамен = 2;

D

Удалить все записи в таблице «Товар»

если истек срок годности товара.

ELETE

FROM Товар

WHERE [Дата Годность] > #10/11/2003#;

Примечание1: Если условие отбора (WHERE …) не задано, то удаляются все записи из таблицы.

Примечание2: Для связанных таблиц удаление записи из master таблицы приведет к каскадному удалению записей из всех дочерних таблиц.

Внимание: Удаленные записи не подлежат восстановлению. Поэтому перед удалением можно с помощью конструкции SELECT убедится в правильности отбора данных для удаления.

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

Операции LEFT JOIN, RIGHT JOIN

Объединяют записи исходных таблиц при использовании в любом предложении FROM.

Синтаксис

SELECT имена полей

FROM таблица1 [ LEFT | RIGHT ] JOIN таблица2     ON таблица1.поле1 оператор таблица2.поле2

Элемент

Описание

таблица_1, таблица_2

Имена таблиц, записи которых подлежат объединению.

поле_1, поле_2

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

оператор

Любой оператор сравнения: "=", "<", ">", "<=", ">=" или "<>".

Дополнительные сведения

Операция LEFT JOIN используется для создания левого внешнего объединения. Левое внешнее объединение включает все записи из первой (левой) таблицы, даже если нет совпадающих значений для записей из второй (правой) таблицы.

Операция RIGHT JOIN используется для создания правого внешнего объединения. Правое внешнее объединение включает все записи из второй (правой) таблицы, даже если нет совпадающих значений с записями из первой (левой) таблицы.

Примечания

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

Можно связать несколько предложений ON. Более подробные сведения по этому вопросу можно найти в описании операции INNER JOIN.

ПРИМЕРЫ

Пусть даны две таблицы А и B

A B

p1

p2

p1

p2

a

x

x

a

b

x

y

b

c

y

z

c

d

Пример Операция LEFT JOIN Пример Операция RIGHT JOIN

SELECT A.p1, A.p2, B.p1, B.p2 SELECT A.p1, A.p2, B.p1, B.p2

FROM A LEFT JOIN B on A.P2=B.P1; FROM A RIGHT JOIN B on A.P2=B.P1;

A.p1

A.p2

B.p1

B.p2

A.p1

A.p2

B.p1

B.p2

a

x

x

a

a

x

x

a

b

x

x

a

b

x

x

a

c

y

y

b

c

y

y

b

d

z

c

Пример Операция INNER JOIN.

SELECT A.p1, A.p2, B.p1, B.p2

FROM A INNER JOIN B on A.P2=B.P1;

A.p1

A.p2

B.p1

B.p2

b

x

x

a

a

x

x

a

c

y

y

b

Операция INNER JOIN (внутреннее соединение записей)

Объединяет записи из двух таблиц, если связующие поля этих таблиц содержат одинаковые значения.