Если вас интересует только то, что делает внутреннее выделение, то вы идете:
select 1
from table (:input_country_object) ico
where co.country_name = ico.country_name
Ваш запрос в основном просто выбирает значение 1
, если выполняется условие where.
Так что, если есть данные для этого условия: where co.country_name = ico.country_name
в таблице :input_country_object
, то этот выбор просто возвращает 1
.
Это вызывает часть exists (...)
вашего запросачтобы вернуть true и, следовательно, выполнить первую часть вашего запроса Select id, country_name, price, section, population, diversity from Country co
.
Таким образом, в целом запрос возвращает вам следующие значения:
id, country_name, price, section, population, diversity
из вашего
Country
таблица,
для всех стран, которые также находятся во второй таблице
:input_country_object
:input_country_object
сама по себе являетсяпеременная, которую SQL-Developer будет заполнять или которую вы должны назначить.