0

The following code does not seem to recognise the code in the brackets that after the NOT EXISTS statement.

select *
from department
where
NOT  EXISTS 
(select *
from department    
where UPPER(state) != 'VIC');

I have spent hours on this and can not seem to get it to work (can do using a different query but not the one above).

4

2 回答 2

1

它不起作用,因为您的表department中至少有一行UPPER(state) != 'VIC'是正确的。

在你的脑海中解决它,首先执行子查询:

SELECT *
FROM department
WHERE UPPER(state) != 'VIC'

如果这返回任何东西,那么你的外部查询看起来像这样,有效地:

SELECT *
FROM department
WHERE NOT TRUE;

这意味着它不会返回任何东西。

现在我对你的后续问题是:你想要它做什么?

我怀疑根本没有理由使用子查询。我建议这是一个可能的选择:

SELECT *
FROM department
WHERE UPPER(state) = 'VIC'

但是由于我不知道您真正想要什么最终结果,所以我不知道这是否合适。

于 2013-11-08T04:32:29.930 回答
0

为什么使用 2 个查询?相反,您可以尝试

select * from department where UPPER(state) <> 'VIC'
于 2013-11-08T04:32:48.997 回答