Объединение таблиц

 

Реляционные базы данных предполагают наличие механизма объединения информации об объекте, хранящейся в нескольких таблицах. Процесс и результат сбора данных об определённом объекте, хранящихся в нескольких таблицах, называется объединением таблиц. Рассмотрим операторы, которые работают при объединении таблиц.

 

Оператор JOIN работает с двумя аргументами-таблицами. Существуют три разновидности конструкций JOIN.

 

Оператор INNER JOIN

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

 

SELECT * FROM имя INNER JOIN имя ON имя поля =имя поля

таблицы1 таблицы2 из таб.1 из таб.2

 

Оператор LEFT JOIN


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

 

SELECT * FROM имя LEFT JOIN имя ON имя поля =имя поля

таблицы1 таблицы2 из таб.1 из таб.2

 

 

Оператор RICHT JOIN

 

Конструкция RIGHT JOIN прямо противоположна по назначению оператору

 

LEFT JOIN. При использовании RIGHT JOIN возвращённый набор данных будет содержать все записи правой таблицы, и только те строки левой, для которых в правой таблице имеются соответствия.

 

SELECT * FROM имя RIGHT JOIN имя ON имя поля =имя поля

таблицы1 таблицы2 из таб.1 из таб.2

 

Добавление записей

Можно копировать данные из одной таблицы в другую.

 

 

Синтаксис:

 

INSERT INTO ИмяТаблицыПриёмника

(ИмяПоля1 [. ИмяПоля2,……])

SELECT ИмяТаблицыИсточника.ИмяПоля1 [,

ИмяТаблицыИсточника.ИмяПоля2, ….]

FROM ИмяТаблицыИсточника

Обновление данных

 

Команда UPDATE применяется для единовременного изменения содержимого полей одной или нескольких записей.

 

Синтаксис:

 

UPDATE ИмяТаблицы

SET ИмяПоля1=Значение1 [,ИмяПоля2=Значение2, …. ]

[WHERE Предложение0 ]

Удаление данных

 

При необходимости удаления записей из таблицы используется конструкция:

 

Синтаксис:

 

DELETE FROM ИмяТаблицы [WHERE Предложение]

 

 

Организация запроса на выборку

 

Дана таблица “Товары”. Получить список товаров, начинающихся на заданную букву.

Private Sub Кнопка2_Click()

Dim basa As Database, zapros As QueryDef, s As String, bucva As String

Set basa = CurrentDb

s = "Select * from Товары where Товар like 'М*'" ‘Cтрока запроса

Set zapros = basa.CreateQueryDef("Запрос1", s) ‘ Создание запроса

DoCmd.OpenQuery ("Запрос1") ‘Открытие запроса

basa.QueryDefs.Delete "Запрос1"

Set basa = Nothing