sql多表关联查询

一共4张表格。A表A_idA_user_id(映射到B表B_id)A_device_id(射到C表C_id)B表B_idB_nameC表C_idc_nameD表D_id(... 一共4张表格。
A表
A_id
A_user_id(映射到B表B_id)
A_device_id(射到C表C_id)

B表
B_id
B_name

C表
C_id
c_name

D表
D_id(映射到A表A_id)
D_user_id(映射到B表B_id)
D_device_id(映射到C表C_id)

怎么多表联合查询所有信息,存放在一张表中?
展开
 我来答
百度网友9b118e4
推荐于2017-11-18 · TA获得超过179个赞
知道答主
回答量:28
采纳率:0%
帮助的人:28万
展开全部
所有信息,无论你使用什么关联都可以,join/ left join/right join/full join

从你写的表结构看,表D表示个A表、B表、C表的关系(除非表D还有其他三张表没有的信息),不需要加入关联的
select *
from A
left join B on A_user_id=B_id
left join C on A_device_id=C_id
让教育自由呼吸
2018-10-21
知道答主
回答量:1
采纳率:0%
帮助的人:817
展开全部

首先,你要确定你的表的维度,如果合成的表以A.ID为主键,那么就以A表为主表,其他的表做左关联,关联条件你已经写的很清楚了,从你的逻辑上看,你的D表为关系表,所以D表的字段在其他几个表中都有,没必要再显示了,当然你可以用它作为过滤条件,不知道你是不是这个意思,

select A.*,B.b_name,C.c_name
from A
left join B 
    on A_user_id=B_id
left join C 
    on A_device_id=C_id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傲血残锋
2018-03-30 · TA获得超过2.3万个赞
知道大有可为答主
回答量:135
采纳率:100%
帮助的人:2.3万
展开全部

用SELECT对多表关联进行查询。

SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统,,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuwei272894330
2013-01-23 · TA获得超过282个赞
知道小有建树答主
回答量:551
采纳率:0%
帮助的人:247万
展开全部
最基本的表关联就行啊,inner join 或者left join
select *
from D
inner join A on D.D_id=A.A_id
inner join B on D.D_user_id=B.B_id
inner join C on D._device_id=C.C_id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1b145d39f
2013-01-23
知道答主
回答量:27
采纳率:0%
帮助的人:4.1万
展开全部
select a.*,b.*,c.*,d.* from A表 a,B表 b,C表 c,D表 d
where a.a_id = b.b_id and a.a_device_id = c.c_id and a.a_id = d.d_id and b.b_id = d.d_user_id
and c.c_id = d.d_device_id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式