一位同事使用了该查询,我想知道内部选择查询的含义(即,从表(:input_country_object)中选择1。谁能详细解释一下它的工作原理。
Select
id,
country_name,
price,
section,
population,
diversity
from Country co
where exists (
select 1
from table (:input_country_object) ico
where co.country_name = ico.country_name
);
谢谢。
答案 0 :(得分:1)
如果您只关心内部选择的功能,那么您可以进行以下操作:
select 1
from table (:input_country_object) ico
where co.country_name = ico.country_name
如果满足where条件,则查询基本上只选择值1
。
因此,如果有以下条件的数据: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将填充的变量,或者您必须分配。
答案 1 :(得分:0)