У меня есть 2 таблицы, а именно клиент и продукт ниже, есть определение
покупатель
customer_id
.customer_name
.
товар
product_id
.product_name
.
таблица клиентов заполняется, как показано ниже
customer_id |customer_name
----------------------------
1 | abc
----------------------------
2 | efg
------------------------------
таблица продуктов заполняется, как показано ниже
product_id|product_name
------------------------------
1 | chair
-----------------------------
2 | desk
------------------------------
Когда я запускаю следующий запрос
SELECT customer_id FROM customer WHERE customer_id IN (SELECT customer_id FROM product)
я ожидал, что он будет жаловаться с ошибкой на отсутствие столбца customer_id в таблице продуктов, вместо этого этот запрос возвращает все строки таблицы клиентов. Кто-нибудь может объяснить, что здесь происходит? Почему sub select использует таблицу из родительского запроса и возвращает результаты без жалоб?