3.3.3. Использование одной и той же таблицы во внешнем и вложенном подзапросе

Выдать номера поставщиков, которые поставляют хотя бы один продукт, поставляемый поставщиком 6.

| Результат:
--- | ---
    SELECT	DISTINCT ПС
    FROM	Поставки
    WHERE	ПР IN
    	(	SELECT	ПР
    		FROM	Поставки
    		WHERE	ПС = 6);
ПС
1
3
5
6
8

Отметим, что ссылка на Поставки во вложенном подзапросе означает не то же самое, что ссылка на Поставки во внешнем запросе. В действительности, два имени Поставки обозначают различные значения. Чтобы этот факт стал явным, полезно использовать псевдонимы, например, X и Y:

    SELECT	DISTINCT X.ПС
    FROM	Поставки X
    WHERE	X.ПР IN
    	(	SELECT	Y.ПР
    		FROM	Поставки Y
    		WHERE	Y.ПС = 6 );

Здесь X и Y – произвольные псевдонимы таблицы Поставки, определяемые во фразе FROM и используемые как явные уточнители во фразах SELECT и WHERE. Напомним, что псевдонимы определены лишь в пределах одного запроса.

3.3.2 | Содержание | 3.3.4