高中考试中的SQL嵌套

高中考试中的SQL嵌套,sql,Sql,我们在我的学校做了这个测试,根据测试结果,这是正确的答案: SELECT names FROM COMPANY WHERE NOT EXISTS (SELECT kgmilk FROM COWS WHERE kgmilk < 1000 AND COMPANY.nr = COWS.nr) 现在我的问题是,您

我们在我的学校做了这个测试,根据测试结果,这是正确的答案:

SELECT 
    names 
FROM 
    COMPANY 
WHERE 
    NOT EXISTS (SELECT 
                    kgmilk 
                FROM 
                    COWS 
                WHERE kgmilk < 1000 AND COMPANY.nr = COWS.nr)

现在我的问题是,您是否可以在嵌套查询中执行COMPANY.nr=COWS.nr,因为您在该查询中只选择了一个数据库。

您没有指定这是哪种SQL

如果是MS SQL Server,则COMPANY.nr=COWS.nr是可能的


请参阅。

是的,它被称为a,并且实际上将对主表中的每一行进行计算,忽略优化。

嵌套查询(通常称为子查询)是a,这意味着对外部查询中的每一行进行计算。当在子查询中引用外部查询中的表时,就会发生关联。下面是一个普通子查询的示例:

select
 NAME
from
 COMPANY
where
 NAME not in (
  select 
   NAME
  from
   COMPANY_BLACKLIST
 )