Запросы на сочетание данных

Используется операция скалярного произведения реляционных таблиц и по смыслу направлены на формирование полного сочетаний строк- записей, представленных в исходных таблицах

Проще. Для одной строки одной таблицы записываются все строки другой

Пример записи запроса

SELECTТаблица1.*,Таблица2.* FROM Таблица1,Таблица

Привести пример

Запросы на соединение данных;

  1. Внутреннее соединение

INNER JOIN … ON…., т.е должно быть выделено поле(столбец) соединения

<связка_таблиц>= <левая таблица> INNER JOIN<правая таблица> ON<условие>

Пример №3

Таблица1
ФИО Зарплата
Новиков А.П. 7 500,00р.
Сергеев И.В. 8 000,00р.

SELECT Таблица1.ФИО, Таблица2.Должность, Таблица1.Зарплата

FROM Таблица1 INNER JOIN Таблица2 ON Таблица1.ФИО=Таблица2.ФИО;

 

Таблица2
ФИО Должность
Новиков А.П. продавец
Сергеев И.В. менеджер
Запрос1
ФИО Должность Зарплата
Новиков А.П. продавец 7 500,00р.
Сергеев И.В. менеджер 8 000,00р.

 

  1. Правого и левого внешнего соединения

<связка_таблиц>= <левая таблица> LEFT JOIN <правая таблица> ON<условие>

 

Пример №4

Таблица1
ФИО Зарплата
Новиков А.П. 7 500,00р.
Петров В.А. 8 000,00р.
Сергеев И.В. 17 300,00р.
Таблица2
ФИО Должность
Новиков А.П. продавец
Сергеев И.В. менеджер


SELECT Таблица1.ФИО, Таблица2.Должность, Таблица1.Зарплата

FROM Таблица1 LEFT JOIN Таблица2 ON Таблица1.ФИО=Таблица2.ФИО;

 

Запрос1
ФИО Должность Зарплата
Новиков А.П. продавец 7 500,00р.
Петров В.А.   8 000,00р.
Сергеев И.В. менеджер 17 300,00р.

Запросы на объединение данных

Создаются наборы данных , объединенными однотипными по смыслу записями из нескольких таблиц.

Инструкция SELECT - UNION SELECT

В SELECT перечисляются отбираемые поля и условия записей из первой таблицы

В UNION SELECT перечисляются отбираемые поля и условия отбора записей из других таблицы

Отбираемое количество полей в SELECT и UNION SELECT должно быть одинаковым

Ключевое слово AS изменяет в итоговом наборе данных наименование отбираемых полей.

Предикат ALL после UNION обеспечивает режим отбора всех, в том числе и повторяющихся записей

Задание

Заданы две таблицы. Исходящие и Входящие. По запросу заполните таблицы и выполните его.

Исходящие

 

Рег № вход Дата Заголовок Отправитель
223/ис 10.11.2011 О лемехе НИИ «Кузнец»
  15.12.2011    
  20.12.2011    

 

Входящие

 

Рег № исход Дата Заголовок Адресат
25.12.2011 Помощь ЗАО «Железо»
  18.12.2011    

 

Запрос

SELECT Рег № вход AS Рег № вход/ исход, Дата, Заголовок, Отправитель AS Отправитель/ Адресат

FROM Входящие

WHERE (Входящие. Дата >= #12/01/2011#)

UNION ALL SELECT Рег № исход, Дата, Заголовок, Адресат

FROM Исходящие

WHERE (Исходящие. Дата >= #20/12/2011#);

Смысл запроса

Документы полученные после 01.12.2011 и отправленные после 20.12.2011