sql 关联查询外键为空的情况

表A:id,p1(与B关联),p2(与B关联)表B:idB有一条记录idp1sA有一条记录idp1p211NULL怎么查A这条记录,级联查询,查询结果A.idp1.idp... 表A:id, p1(与B关联), p2(与B关联)
表B:id

B有一条记录
id p
1 s

A有一条记录
id p1 p2
1 1 NULL

怎么查A这条记录,级联查询,查询结果
A.id p1.id p1.p p2.id p2.p
1 1 s NULL NULL
展开
 我来答
jiangy313
2015-11-20 · TA获得超过112个赞
知道答主
回答量:25
采纳率:0%
帮助的人:29.4万
展开全部
外键为空的情况会导致查询结果为空,但是通过如:左连接的方式可以查出所有数据
如A表字段 a,b(外键),c;B表字段:b,d

select A.*,d from A left join B on A.b=B.b

如果查询外键不为空的数据 可以加where条件

select A.*,d from A left join B on A.b=B.b where B.b is not null
spyhost
2015-10-27 · TA获得超过3132个赞
知道小有建树答主
回答量:946
采纳率:90%
帮助的人:111万
展开全部
select t1.a,t1.b,t2.a,t2.c from talbe1 t1 left join table2 t2 on t1.a=t2.a
where t2.a is null
这句SQL的意思为,从table1和table2两个表查询,其中t1.a为table1的主键,t2.a为外键,
当外键t2.a不存在,则对应t1的资料显示出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
守望流逝的青春
推荐于2017-09-04 · 超过25用户采纳过TA的回答
知道答主
回答量:240
采纳率:0%
帮助的人:58.8万
展开全部
表A:id, p1(与B关联), p2(与B关联)
表B:id

B有一条记录
id p
1 s

A有一条记录
id p1 p2
1 1 NULL

怎么查A这条记录,级联查询,查询结果
A.id p1.id p1.p p2.id p2.p
1 1 s NULL NULL

select a.id, p1.id, p1.p, p2.id, p2.p
from a left join b p1 on a.p1=p1.id left join b p2 on a.p2=p2.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
realsex
2013-11-01 · TA获得超过1259个赞
知道小有建树答主
回答量:717
采纳率:0%
帮助的人:524万
展开全部
select A.id , p1.id , p1.p , p2.id , p2.p
from A left join B
on A.p1=B.id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热情的osfz
2013-11-01
知道答主
回答量:10
采纳率:0%
帮助的人:1.3万
展开全部
SELECT A.id,b.id,a.p1,a.p2,b.p FROM 表A a

inner join 表B b on a.id=b.id
group by A.id,b.id,a.p1,a.p2,b.p
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式