SQL三表关联查询 30

三个数据表,分别是用户表:用户id,用户名,等级作者表:作者ID,作者QQ,作者电话作品表:作品ID,作品名字,出版社想达到的效果是:列出给定用户名的图书情况用户名,图书... 三个数据表,分别是 用户表:用户id,用户名,等级
作者表:作者ID,作者QQ,作者电话
作品表:作品ID,作品名字,出版社
想达到的效果是:列出给定用户名的图书情况
用户名,图书名 作者 出版社
三个数据表,分别是 用户表:用户id,用户名,等级,作品ID
作者表:作者ID,作者名,作者QQ,作者电话
作品表:作品ID,作品名字,作者id,出版社
想达到的效果是:列出给定用户名的图书情况
用户名,作品名字 作者 出版社

这回有关系了,谢谢帮忙
展开
 我来答
大野瘦子
高粉答主

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

flyingFish211
2012-06-05 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
看不出来你的表之间的关系

SELECT a.用户名, c.作品名字,c.作者名, c.出版社
FROM 用户表 a, 作者表 b, 作品表 c
WHERE a.作品ID = c.作品ID
AND c.作者id = b.作者id
AND 用户id = '给定用户名'
更多追问追答
追问
麻烦再给看看呗
追答
SELECT a.用户名, c.作品名字,b.作者名, c.出版社
FROM 用户表 a, 作者表 b, 作品表 c
WHERE a.作品ID = c.作品ID
AND c.作者id = b.作者id
AND 用户id = '给定用户名'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轻候云梦0nm
推荐于2018-03-08 · TA获得超过193个赞
知道答主
回答量:382
采纳率:0%
帮助的人:187万
展开全部
select a.用户名,b.作品名字,c.作者,b.出版社 from 用户表 a
INNER JOIN 作品表 b on a.作品ID=b.作品ID
INNER JOIN 作者表 c on c.作者ID=b.作者ID
where a.用户名=参数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
c6iz
推荐于2018-08-04 · TA获得超过1417个赞
知道大有可为答主
回答量:1426
采纳率:100%
帮助的人:1039万
展开全部
关系型数据库中,每个表之间必需有一个或多个列与其它的表有关系(如相等),才能把两个表合在一起查询。
你的用户表下没与作者表或作品表有关系的列,所以没办法连在一块查的,就算连在一块查也是没意义的。

除非你的用户表下再加一个作品ID,这样就可以关连起来查询了

SELECT a.用户名,c.作品名字,b.作者名,c.出版社,
FROM 用户表 as a
JOIN 作品表 as c ON a.作品ID = c.作品ID
JOIN 作者表 as b ON c.作者ID = b.作者ID
WHERE a.用户名 = ‘XXX’;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tkbh
2012-06-05 · TA获得超过531个赞
知道小有建树答主
回答量:629
采纳率:0%
帮助的人:109万
展开全部
用户表和下面的两个表半毛钱关系都没有,怎么查??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式