我的查询中有一点语法问题(简化):
select *
from table1 t1
inner join table2 t2 using (pk1)
inner join table3 t3 using (pk2)
where not exists (select1 from table4 t4 where t4.pk1 = t1.pk1)
通过使用“using”关键字,oracle 不允许在列名前面加上表标识符(例如:t1.pk1,只能使用 pk1)
如果我写:
select *
from table1 t1
inner join table2 t2 using (pk1)
inner join table3 t3 using (pk2)
where not exists (select1 from table4 t4 where t4.pk1 = pk1)
此查询不会给出预期的结果。
但由于我使用的是“存在”子查询,我该如何加入这个子查询?
当然,我想我可以用另一种方式编写这个查询并避免存在,或者我不能使用“使用”。
但是是否可以在 where 子句中将“加入/使用”与子查询结合起来?
编辑:使用 Oracle 10gR2