Новые книги

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

Для специалистов в области интернет-маркетинга и разработчиков Web-сайтов.
Это самый полный, доступный и вместе с тем краткий самоучитель работы на компьютере. Автор этой книги, признанный специалист по обучению компьютерной грамотности, создал действительно удобную книгу для самостоятельного обучения. Проработка этого самоучителя — залог вашей компьютерной грамотности. Вы узнаете самое главное о выборе конфигурации ПК, его комплектующих, работе на нем, о самых распространенных прикладных программах и многое другое. У вас появится системный подход к решению любых задач, связанных с пользованием компьютером. Это позволит вам освоить любой новый для вас программный продукт, настроить любое дополнительное устройство.

Простые вложенные подзапросы

3.3.2. Простые вложенные подзапросы

Простые вложенные подзапросы используются для представления множества значений, исследование которых должно осуществляться в каком-либо предикате IN, что иллюстрируется в следующем примере: выдать название и статус поставщиков продукта с номером 11, т.е. помидоров.

Результат:
SELECT	Название, Статус
FROM	Поставщики
WHERE	ПС IN
	(	SELECT	ПС
		FROM	Поставки
		WHERE	ПР = 11 );
НазваниеСтатус
СЫТНЫЙрынок
УРОЖАЙкоопторг
ЛЕТОагрофирма
КОРЮШКАкооператив

Как уже отмечалось в п.3.3.1, при обработке полного запроса система выполняет прежде всего вложенный подзапрос. Этот подзапрос выдает множество номеров поставщиков, которые поставляют продукт с кодом ПР = 11, а именно множество (1, 5, 6, 8). Поэтому первоначальный запрос эквивалентен такому простому запросу:

SELECT	Название, Статус
FROM	Поставщики
WHERE	ПС IN (1, 5, 6, 8);

Подзапрос с несколькими уровнями вложенности можно проиллюстрировать на том же примере. Пусть требуется узнать не поставщиков продукта 11, как это делалось в предыдущих запросах, а поставщиков помидоров, являющихся продуктом с номером 11. Для этого можно дать запрос

SELECT	Название, Статус
FROM	Поставщики
WHERE	ПС IN
	(	SELECT	ПС
		FROM	Поставки
		WHERE	ПР IN
			(	SELECT	ПР
				FROM	Продукты
				WHERE	Продукт = 'Помидоры' ));

В данном случае результатом самого внутреннего подзапроса является только одно значение (11). Как уже было показано выше, подзапрос следующего уровня в свою очередь дает в результате множество (1, 5, 6, 8). Последний, самый внешний SELECT, вычисляет приведенный выше окончательный результат. Вообще допускается любая глубина вложенности подзапросов.

Тот же результат можно получить с помощью соединения

SELECT	Название, Статус
FROM	Поставщики, Поставки, Продукты
WHERE	Поставщики.ПС = Поставки.ПС
AND	Поставки.ПР = Продукты.ПР
AND	Продукт = 'Помидоры';

При выполнении этого компактного запроса система должна одновременно обрабатывать данные из трех таблиц, тогда как в предыдущем примере эти таблицы обрабатываются поочередно. Естественно, что для их реализации тебуются различные ресурсы памяти и времени, однако этого невозможно ощутить при работе с ограниченным объемом данных в иллюстративной базе ПАНСИОН.

3.3.1 | Содержание | 3.3.3