我有两张桌子。 A&乙
ID Name
1 A
2 B
3 C
4 D
和
ID Sal
1 400
2 300
3 500
现在我需要从第一个表中获取记录(ID,Name),这些sal在第二个表中没有分配。使用子查询我得到了这个。但我需要在不使用子查询的情况下解决它。 所以我尝试使用减运算符。但我现在正在获得完整的第一张表。
select id,name from A
minus
select id,to_char(null) from B;
我做错了什么?
答案 0 :(得分:0)
您可以使用minus inside 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;
答案 1 :(得分:0)
但是没有使用子查询我需要解决。
使用CTE:
with tbl(id) as ( select id from B)
select id,name
from A
inner join tbl b
on a.id <> b.id