一個簡單的sql語句怎麽寫?

jornet 2003-10-09 07:44:00
表A(a,b,c),表B(a,d,e),A.a和B.a是关联的
现在要查询出表C,C含有A的全部字段和数据另外添加一个字段x,当A.a存在于B.a中时,
x取B.d,不存在时,取NULL

请问这个sql语句如何写?
答对立马给分
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jornet 2003-10-10
  • 打赏
  • 举报
回复
大力,你太強了,謝謝,馬上給分
pengdali 2003-10-09
  • 打赏
  • 举报
回复
select A.a, A.b, A.c, B.d x from A, B where A.a=B.a(+);

如:
create table dali.test1(a int,b int);
create table dali.test2(a int,b int);

insert into dali.test1 values(1,456);
insert into dali.test1 values(2,427);
insert into dali.test2 values(1,45456);
insert into dali.test2 values(3,45656);

---内连接
select * from dali.test1 a, dali.test2 b where a.a=b.a;

---左连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+);

---右连接
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;

---完全连接
select * from dali.test1 a, dali.test2 b where a.a=b.a(+)
union
select * from dali.test1 a, dali.test2 b where a.a(+)=b.a;

---迪卡尔
select * from dali.test1, dali.test2;
podded 2003-10-09
  • 打赏
  • 举报
回复
用union是不对的。

yfjyz 2003-10-09
  • 打赏
  • 举报
回复
select A.a, A.b, A.c, B.d from A, B where A.a=B.a
union
select A.a, A.b, A.c, NULL from A, B where A.a<>B.a;
things 2003-10-09
  • 打赏
  • 举报
回复
select A.a, A.b, A.c, B.d x
from A, B
where A.a=B.a(+)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧