SQL三表连接查询

表Aab1826表Bad1223表Cdf2334求:查询表A的数据和当表A的a=表B的a表B的d=表C的d所对应的f的值.结果如下:abf183264... 表A

a b
1 8
2 6

表B

a d
1 2
2 3

表C

d f
2 3
3 4

求:查询表A的数据和当表A的a=表B的a 表B的d=表C的d 所对应的f的值.
结果如下:
a b f
1 8 3
2 6 4
展开
 我来答
大野瘦子
高粉答主

2018-12-10 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:33.9万
展开全部

select a.*,c.f from (select * from a inner join b on a.a = b.a) as a inner join c on a.d = c.d

select a.*,c.f from a inner join b on a.a = b.a inner join b.d = b.d

两个都可以,第一个更容易理解,括号里的部分是查询出查询表A的数据和当表A的a=表B的a的数据,把这个结果集,再inner join c on a.d = c.d

查询出表B的d=表C的d 所对应的f的值。

扩展资料:

三个表左连接的sql语句

select

intro_web_page.id,

web_id,

web_name,

template_id ,

template_name,

template_param,

intro_web_page.sort_order 

from intro_web_page left join intro_web on (web_id=intro_web.id) 

left join intro_template on (intro_web_page.template_id=intro_template.id)

注:这里主要是看,当两个表和某一个表都有联系的时候,左连接left join    on要怎么写。

更新语句

UPDATE issue INNER JOIN user ON `issue`.insert_uid and `user`.id INNER JOIN 

(SELECT  issue.id as id,issue.insert_uid as uid,`user`.school_id as school_id,school.area as area1 from issue,user,school 

where issue.insert_uid=`user`.id and  `user`.school_id=school.id) AS T1

ON issue.insert_uid=T1.uid

SET issue.area=T1.area1

Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
greatlubin
推荐于2018-03-24 · TA获得超过434个赞
知道小有建树答主
回答量:73
采纳率:0%
帮助的人:111万
展开全部
select a.*,c.f from (select * from a inner join b on a.a = b.a) as a inner join c on a.d = c.d

select a.*,c.f from a inner join b on a.a = b.a inner join b.d = b.d

两个都可以,第一个更容易理解 括号里的部分 是查询出 查询表A的数据和当表A的a=表B的a的数据,把这个结果集 再inner join c on a.d = c.d
查询出表B的d=表C的d 所对应的f的值.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
戴剑波
2010-05-28 · TA获得超过220个赞
知道答主
回答量:59
采纳率:0%
帮助的人:53.6万
展开全部
最简单的方法就是普通连结:
select * from 表A,表B,表C
where 表A.a = 表B.a and 表B.d = 表C.d

还可以使用内连结,外连结,不过这里用这个就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金辉天翼
2018-03-23
知道答主
回答量:2
采纳率:0%
帮助的人:1545
展开全部
这个我自己运行过,可以用:student表,score表,course表。案例如下:
SELECT S.SNAME,C.CNAME,E.DEGREE FROM STUDENT S JOIN SCORE E ON S.SNO=E.SNO JOIN COURSE C ON C.CNO=E.CNO
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式