Новые книги

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

Эта книга о новейшем мощном оружии маркетологов – интернет-маркетинге 3.0, эффективном инструменте продвижения, основанном на прогнозировании и программировании поведения покупателей в интернете.

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

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

2-е издание.

Запросы, использующие соединения. Декартово произведение таблиц

3.2. Запросы, использующие соединения
3.2.1. Декартово произведение таблиц

В литературе [2] показано, что соединения - это подмножества декартова произведения. Так как декартово произведение n таблиц - это таблица, содержащая все возможные строки r, такие, что r является сцеплением какой-либо строки из первой таблицы, строки из второй таблицы, ... и строки из n-й таблицы (а мы уже научились выделять с помощью SELECT любое подмножество реляционной таблицы), то осталось лишь выяснить, можно ли с помощью SELECT получить декартово произведение. Для получения декартова произведения нескольких таблиц надо указать во фразе FROM перечень перемножаемых таблиц, а во фразе SELECT – все их столбцы.

Так, для получения декартова произведения Вид_блюд и Трапезы надо выдать запрос

SELECT	Вид_блюд.*, Трапезы.*
FROM	Вид_блюд, Трапезы;

Получим таблицу, содержащую 5 х 3 = 15 строк:

ВВидТТрапеза
ЗЗакуска1Завтрак
ЗЗакуска2Обед
ЗЗакуска3Ужин
ССуп1Завтрак
ССуп2Обед
ССуп3Ужин
ГГорячее1Завтрак
ГГорячее2Обед
ГГорячее3Ужин
ДДесерт1Завтрак
ДДесерт2Обед
ДДесерт3Ужин
ННапиток1Завтрак
ННапиток2Обед
ННапиток3Ужин

В другом примере, где перемножаются таблицы Меню, Трапезы, Вид_блюд, Блюда:

SELECT Меню.*, Трапезы.*, Вид_блюд.*, Блюда.*
FROM	Меню, Трапезы, Вид_блюд, Блюда;

образуется таблица (рис 3.1), содержащая 21 х 3 х 5 х 33 = 10395 строк.

Из первых 39 строк этой таблицы лишь две актуальных (отмечены "*"): в них совпадают номера блюд таблиц Меню и Блюда. В остальных – полная чепуха: к закускам отнесены супы и напитки, на завтрак предлагается незапланированный суп и т.д.

3.1 | Содержание | 3.2.2