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. Напомним, что псевдонимы определены лишь в пределах одного запроса.