Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Подзапросы, ориентированные на задачи

Типы подзапросов | Несвязанные подзапросы | Gt; FROM employee | Оператор all | Оператор any | Подзапросы, возвращающие несколько столбцов | Gt; FROM customer c | Оператор exists | Манипулирование данными с помощью связанных подзапросов | Использование подзапросов |


Читайте также:
  1. I. ЗАДАЧИ ПАРТИИ В ОБЛАСТИ ЭКОНОМИЧЕСКОГО СТРОИТЕЛЬСТВА, СОЗДАНИЯ И РАЗВИТИЯ МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЙ БАЗЫ КОММУНИЗМА
  2. I. Составление математической модели задачи.
  3. I. Цели и задачи
  4. I. ЦЕЛИ И ЗАДАЧИ ОБУЧЕНИЯ ДИСЦИПЛИНЕ «НЕМЕЦКИЙ ЯЗЫК В СФЕРЕ ЮРИСПРУДЕНЦИИ» СТУДЕНТОВ-ЮРИСТОВ ЗАОЧНОЙ ФОРМЫ ОБУЧЕНИЯ
  5. II. ЗАДАЧИ ПАРТИИ В ОБЛАСТИ ПОДЪЕМА МАТЕРИАЛЬНОГО БЛАГОСОСТОЯНИЯ НАРОДА
  6. II. Основные задачи ФСБ России
  7. II. Основные цели и задачи Программы с указанием сроков и этапов ее реализации, а также целевые индикаторы и показатели, отражающие ход ее выполнения

 

В системах, используемых для создания отчетов или наборов данных, часто встречаются следующие запросы:

 

mysql> SELECT p.name product, b.name branch,
_> CONCAT(e.fname, ' ', e.lname) name,
_> SUM(a.avail_balance) tot_deposits
_> FROM account a INNER JOIN employee e
_> ON a.open_emp_id = e.emp_id
_> INNER JOIN branch b  
_> ON a.open_branch_id = b.branch_id
_> INNER JOIN product p  
_> ON a.product_cd = p.product_cd
_> WHERE p.product_type_cd = 'ACCOUNT'
_> GROUP BY p.name, b.name, e.fname, e.lname;
       

 

+________________________+_______________+_________________+______________+ | product | branch | name | tot_deposits | +________________________+_______________+_________________+______________+

 

| certificate of deposit | Headquarters | Michael Smith | 11500.00 |
| certificate of deposit | Woburn Branch | Paula Roberts | 8000.00 |
| checking account | Headquarters | Michael Smith | 782.16 |
| checking account | Quincy Branch | John Blake | 1057.75 |
| checking account | So. NH Branch | Theresa Markham | 67852.33 |
| checking account | Woburn Branch | Paula Roberts | 3315.77 |
| money market account | Headquarters | Michael Smith | 14832.64 |
| money market account | Quincy Branch | John Blake | 2212.50 |
| savings account | Headquarters | Michael Smith | 767.77 |
| savings account | So. NH Branch | Theresa Markham | 387.99 |
| savings account | Woburn Branch | Paula Roberts | 700.00 |

 

+________________________+_______________+_________________+______________+ 11 rows in set (0.02 sec)


 

188 Глава 9. Подзапросы

Этот запрос суммирует все остатки депозитных счетов по типу счета, сотруднику, открывшему счета, и отделениям, в которых были откры_ ты счета. Если внимательнее посмотреть на запрос, увидим, что табли_ цы product, branch и employee нужны только в целях отображения и что все необходимое для группировки (product_cd, open_branch_id, open_emp_id

 

и avail_balance) есть в таблице account. Поэтому задачу по формирова_ нию групп можно было бы выделить в подзапрос, а затем для получе_ ния нужного результата соединить остальные три таблицы с табли_ цей, сгенерированной подзапросом. Вот подзапрос группировки:

 

mysql> SELECT product_cd, open_branch_id branch_id, open_emp_id emp_id,

 


Дата добавления: 2015-08-17; просмотров: 57 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Формирование таблиц| Gt; SUM(avail_balance) tot_deposits _> FROM account

mybiblioteka.su - 2015-2024 год. (0.007 сек.)