[英]oracle minus in select statement
我有两个桌子。 A&B
ID Name
1 A
2 B
3 C
4 D
和
ID Sal
1 400
2 300
3 500
现在,我需要从第一个表中获取记录(ID,名称),这些sal在第二个表中未分配。 使用子查询我得到了这个。 但是我需要不使用子查询来解决它。 所以我尝试了减号运算符。 但是我现在已经可以坐满第一张桌子了。
select id,name from A
minus
select id,to_char(null) from B;
我究竟做错了什么?
您可以在with子句中使用减号
with ids as (
select id
from A
minus
select id
from B
) select A.id ,A.name
from A join ids on ids.userid=A.userid;
但是没有使用子查询,我需要解决。
通过CTE使用此功能:
with tbl(id) as ( select id from B)
select id,name
from A
inner join tbl b
on a.id <> b.id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.