Изучаем sql



Pdf көрінісі
бет164/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   160   161   162   163   164   165   166   167   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

> FROM employee
> GROUP BY dept_id;
+++
| dept_id | how_many |
+++
| 1 | 14 |
| 2 | 1 |
| 3 | 3 |
+++
3 rows in set (0.00 sec)
Подзапрос назван 
e_cnt
и соединен с таблицей 
department
по столбцу
dept_id
. После этого основной запрос извлекает ID отдела и имя из таб
лицы 
department
, а также количество сотрудников из подзапроса 
e_cnt
.
Подзапросы, используемые для формирования таблиц, должны быть
несвязанными; они выполняются первыми, и полученные таблицы
поддерживаются в памяти, пока основной запрос завершает выполне
ние. Подзапросы предлагают необычайную гибкость при написании
запросов. С их помощью можно выходить далеко за пределы набора
доступных таблиц, создавать практически любое представление необ


Использование подзапросов
185
ходимых данных и затем соединять эту таблицу с другими таблицами
или таблицами, сформированными подзапросами. Теперь создать от
чет или сформировать набор данных для внешних систем можно с по
мощью единственного запроса. Раньше для этого требовалось несколь
ко запросов или использование процедурного языка.
Формирование таблиц
С помощью подзапросов можно как резюмировать имеющиеся данные,
так и формировать данные, которых в БД нет ни в какой форме. На
пример, требуется сгруппировать клиентов по денежным суммам, раз
мещенным на депозитных счетах, но использовать для этого описания
групп, не хранящиеся в БД. Скажем, надо разбить клиентов на сле
дующие группы:
Чтобы сформировать эти группы в рамках одного запроса, потребуется
способ определения этих трех групп. Первый шаг – создать запрос,
формирующий описания групп:
mysql> 
SELECT 'Small Fry' name, 0 low_limit, 4999.99 high_limit


Достарыңызбен бөлісу:
1   ...   160   161   162   163   164   165   166   167   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет