2011-11-23 78 views
1

我们在我校做这个测试,并根据测试,这是正确的答案:SQL嵌套上高中考

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

现在的问题是,你能实际上是在嵌套查询做COMPANY.nr = COWS.nr,因为您只能在该查询中选择一个数据库。

回答

2

您没有指定这是哪种SQL。

如果是MS SQL Server,则可以使用COMPANY.nr = COWS.nr

请参阅this example

+0

好吧谢谢我现在觉得很愚蠢 – Bouke

0

嵌套查询 - 通常称为子查询 - 是correlated subquery,这意味着它将针对外部查询中的每一行进行评估。在子查询中,当您在外部查询中引用一个表时,会发生相关性。下面是一个简单的子查询的例子:

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