Новые книги

Это практическое руководство, в котором вы найдете описание базовых принципов и четкий пошаговый план по созданию высокоэффективного брендинга. Вы узнаете, как в эпоху продуктовой и информационной перегруженности выйти на рынок с предложением, которое обязательно заметят. А также научитесь достигать главной цели брендинга: удовлетворять клиентов так, чтобы со временем все больше людей покупали у вас все больше товаров и услуг по более высокой цене.
Илья Щеголев – практикующий психолог, специалист в области графологии, физиогномики и визуальной диагностики. Человек, который умеет читать по лицам и видеть между строк.

Автор раскрывает перед читателем секреты прикладной графологии нового поколения. Графология XXI века – это сплав науки и современных технологий. Это компьютерные программы для профессионалов и начинающих. В книге вы найдете диск с программой упрощенного графологического анализа. Программа создана на основе профессиональной системы «GraphAnal» и позволяет любому пользователю легко и просто определить основные черты характера человека по почерку. Лучший подарок для графологов, психологов и специалистов по работе с персоналом!

Компакт-диск прилагается только к печатному изданию.

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

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