русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 467; Нарушение авторских прав


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.Продукт

GROUP BY b.Блюдо, b.Труд;

Результат  
Блюдо Стоимость
Кофе черный 2,332
Сметана 28,2671
Компот 16,2558
Кофе на молоке 12,0205
Молочный напиток 45,4615
Творог 19,9821
Морковь с рисом 14,5298
 

Для того чтобы определить состав каждого блюда, таблица Блюда соединяется с таблицей Состав. Между таблицами Блюда и Состав существует связь «один ко многим». Что означает, что в состав каждого блюда может входить несколько продуктов. В результате внутреннего соединения получаем промежуточную таблицу. Для расчета стоимости полученную промежуточную таблицу соединяем с таблицей Наличие для определения цены продукта. Группировка по полю Блюдо позволяет каждое блюдо рассматривать как независимый набор строк, к которому применяется формула подсчета стоимости. Группировка по полю Труд позволяет учесть трудозатраты на изготовление одной порции блюда.



Левое внешнее соединение.

Запрос с левым внешним соединением идентичен уже рассмотренному запросу с внутренним соединением (Пример 21), за исключением того, что используются ключевые слова LEFT OUTER JOIN.



<== предыдущая лекция | следующая лекция ==>
Внутреннее соединение. | SELECT p.Продукт, n.Количество, n.Цена


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.042 сек.