Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Select a, b FROM R1 cross JOIN R2





 

A   B
     
     
     
     
     

 

Результат        
А В   Продолжение
         
         
         
         
         
         
         
         
         
         

 

Рис. 3.8. R1 CROSS JOIN R2

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

Реальные примеры соединений.

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

 

Пример 21.

Получить информацию о стоимости и количестве каждого продукта на складе

SELECT Продукты.Продукт, Наличие.Количество, Наличие.Цена

FROM Продукты JOIN Наличие

ON Продукты.ID_Продукта = Наличие.Продукт;

Результат  
Продукт Количество Цена
Говядина   429,84
Судак   0,00
Масло   274,61
Майонез   97,46
Яйца   111,83
Сметана   206,60
Молоко   83,80
Творог   82,80
Морковь   0,00
Лук   46,30
Помидоры   51,70
Зелень   34,96
Рис   51,17
Мука   43,77
Яблоки   189,92
Сахар   96,14
Кофе   166,50

 

Таблица Продукты соединяется с таблицей Наличие с помощью ключевого слова JOIN(INNER по умолчанию). После ON задаётся условие соединения, которое указывает, каким образом строки таблиц должны соответствовать друг другу, чтобы принять участие в соединении.

Между таблицами Продукты и Наличие существует связь «один к одному». Это означает, что для каждой строки из таблицы Продукты, в таблице Наличие будет найдено не более одной соответствующей строки (может не быть ни одной). В результат запроса попадут только те строки из Таблицы продукты, для которых соответствие найдено (продукт есть на складе).

Пример 22.

Более сложный запрос: Рассчитать стоимость блюда

SELECT b.Блюдо, SUM(s.Вес*n.Цена/1000)+b.Труд as Стоимость

FROM (Блюда b JOIN Состав s ON b.ID_блюда =s.Блюдо)

JOIN Наличие n ON s.Продукт=n.Продукт

Date: 2015-09-18; view: 374; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию