一个简单的sql语句我不会写了,大侠们帮帮偶啊。

abczy 2003-08-19 04:49:32
A表:A_id A_name
1 A1
2 A2
3 A3
B表:B_id B_name
1 B1
3 B3
C表: C_id C_name
2 C2

我现在要输出结果:
A_name B_name C_name
A1 B1 null
A2 null C2
A3 B3 null
如果没有C表的话我会做
select A_name,B_name from A left outer join B on A_id=B_id
好象join只能连两个表,可是现在需要连三个表,sql语句如何写?
...全文
38 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wueg2003 2003-08-20
  • 打赏
  • 举报
回复
select distint A.A_name,B.B_name,C.C_name from A,B,C where A.A_id=B.B_id and B.B_id=C.C_id
union
select distint A.A_name,B.B_name,C.C_name from A,B,C where A.A_id<>B.B_id and B.B_id<>C.C_id
LingFengNB 2003-08-20
  • 打赏
  • 举报
回复
select A.A_name,B.B_name,C.C_name from A
left join B on B_Id=A_Id
left join C on C_Id=A_Id
这个就是好的
amortal 2003-08-19
  • 打赏
  • 举报
回复
select A.A_name,nvl(B.B_name,'null'),nvl(C.C_name,'null') from A,B,C where A.A_id=B.B_id(+) and A.A_id=C.C_id(+)
wizardho 2003-08-19
  • 打赏
  • 举报
回复
楼上的也可以
wizardho 2003-08-19
  • 打赏
  • 举报
回复
select A_name,B_name,null
from A,B where A_id=B_id
union
select A_name, null, C_name
from A,C where A_id=C_id
刚试了一下,可以
zhaoxichao 2003-08-19
  • 打赏
  • 举报
回复
SELECT A_name,B_name,C_name FROM A LEFT JOIN B ON (A_id=B_id) LEFT JOIN C on (A_id=C_id)
cricketlj 2003-08-19
  • 打赏
  • 举报
回复
select A.A_name,B.B_name,C.C_name from A,B,C where A.A_id=B.B_id(+) and A.A_id=C.C_id(+)
zlhlj2000 2003-08-19
  • 打赏
  • 举报
回复
select value from a table and b table where .. union select value from a table and
c table where.
lsy110 2003-08-19
  • 打赏
  • 举报
回复
select A.A_name,B.B_name,C.C_name from A
left join B on B_Id=A_Id
left join C on C_Id=A_Id
zhousm6 2003-08-19
  • 打赏
  • 举报
回复
用外连接:
select A.A_name,B.B_name,C.C_name from A,B,C where A.A_id=B.B_id(+) and A.A_id=C.C_id(+)
abczy 2003-08-19
  • 打赏
  • 举报
回复
不行,这样是查不出任何结果的,因为B_id中没有2,而C_id中没有1,3,必须得用join才行
javahui 2003-08-19
  • 打赏
  • 举报
回复
select A.A_name,B.B_name,C.C_name from A,B,C where A.A_id=B.B_id and B.B_id=C.C_id

81,091

社区成员

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

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