A表是这样的
nameid
A
B
C
D
E
FB表是这样的
nameid
F
D
A现在要的结果是
nameid status
A Y
B N
C N
D Y
E N
F YA表中的nameid在表B中的话status为Y,相反为N
A表的数据量小
B表的数据量很大
求一个效率高点的SQL语句
求大神指导
nameid
A
B
C
D
E
FB表是这样的
nameid
F
D
A现在要的结果是
nameid status
A Y
B N
C N
D Y
E N
F YA表中的nameid在表B中的话status为Y,相反为N
A表的数据量小
B表的数据量很大
求一个效率高点的SQL语句
求大神指导
--A,B两表的nameid都建立索引
select A.nameid,decode(B.nameid,null,'N','Y') status
from A left join B on A.nameid=B.nameid
from A left join B on A.nameid=B.nameid
OR
select nameid,
case when exists(select 1 from b where a.nameid=b.nameid) then 'Y' else 'N' end status
from A