1、创建两张测试表
create table test_case1(id number, value varchar2(200));
create table test_case2(id number, value varchar2(200));
2、先在表1中插入测试数据
insert into test_case1 values(1,'a');
insert into test_case1 values(2,'b');
insert into test_case1 values(3,'c');
insert into test_case1 values(4,'d');
insert into test_case1 values(5,'e');
commit;
3、在表2中插入数据
insert into test_case2 values(1,'aa');
insert into test_case2 values(2,'bb');
insert into test_case2 values(3,'cc');
insert into test_case2 values(6,'ee');
commit;
4、两表关联,并编写case when的语句
select t.*,
case when b.id is not null then '存在' else '不存在' end flag
from TEST_CASE1 t, TEST_CASE2 b
where t.id = b.id(+)
判定A表的数据是否存在B表,如果存在则显示存在,不存在则显示不存在
例如S#存在于SC表和student表中,判定s#是否都在student表中存在存在则显示存在,不存在则显示不存在,具体如下:
from student
select s#,
case when s# in(select s# from sc) then '存在'
when s# not in( select s# from sc) then '不存在'
end
from student
select * from a where EXISTS(select id from b where a.相同的字段=b.相同的字段)
问题是什么?
疑问点:你整个的意图是什么?单单两张表的两个字段 ,T_A 表的 a 字段 在 T_B 表中 b 字段中是否存在?可以具体一些么? 至少 你可以说明 你想实现的思维意图是什么?