永发信息网

SQL三表关联查询

答案:4  悬赏:70  手机版
解决时间 2021-03-20 07:44
  • 提问者网友:却不属于对方
  • 2021-03-19 12:41
SQL三表关联查询
最佳答案
  • 五星知识达人网友:荒野風
  • 2021-03-19 14:14
关系型数据库中,每个表之间必需有一个或多个列与其它的表有关系(如相等),才能把两个表合在一起查询。
你的用户表下没与作者表或作品表有关系的列,所以没办法连在一块查的,就算连在一块查也是没意义的。

除非你的用户表下再加一个作品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’;
全部回答
  • 1楼网友:逐風
  • 2021-03-19 16:15
用户表和下面的两个表半毛钱关系都没有,怎么查??
  • 2楼网友:过活
  • 2021-03-19 16:02
看不出来你的表之间的关系
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 = '给定用户名'追问没出来,数据库是ACCESS,并且作品对作者是多对一的关系,不知是什么问题追答AND a.用户id = '给定用户名'
修改为你的id没有?
SELECt a.用户名, c.作品名字,b.作者名, c.出版社
FROM 用户表 a, 作者表 b, 作品表 c
WHERe a.作品ID = c.作品ID
AND c.作者id = b.作者id
AND a.用户id = 'xxx'
  • 3楼网友:青灯有味
  • 2021-03-19 14:25
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.用户名=参数
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯