我想我對「不存在」的工作有誤解,希望能夠向我澄清。SQL不存在的地方
下面是示例代碼,我運行(也SQL Fiddle)
select sum(col1) col1, sum(col2) col1, sum(col3) col3
from (
select 1 col1, 1 col2, 1 col3
from dual tbl1
)
where not exists(
select 2 col1, 1 col2, 1 col3
from dual tbl2
)
我認爲它應該返回:
1, 1, 1
反而它沒有返回。
我做這樣的假設只是一個事實,即我雖然NOT EXISTS會給我所有的第一個查詢沒有在第二個查詢存在行的列表(在這種情況下1,1,1)
- 爲什麼這不起作用
- 什麼是適當的方式使它按我期待的方式工作?
如果好方法您正在使用SQL Server使用:EXCEPT,在Oracle上:MINUS。 – Horaciux 2015-03-31 19:39:47