求解,两张表连接,是一对多的数据显示,要怎么写Sql语句

求解,两张表连接,是一对多的数据显示,要怎么写Sql语句,第1张

最好把表结构提供一下。

1、以“表名一”为基准,将“表名多”中“字段”相同的行查出,“表名一”中有而“表名多”中不存在的就不显示:

select 要查询的字段 from 表名一,表名二 where 表名一.字段=表名多.字段

2、以“表名一”为基准,将“表名多”中“字段”相同的行查出,“表名一”中有的就都显示,“表名多”中没有的会显示为“NULL”

select 要查询的字段 from 表名一

left outer join 表名多 on ( 表名一.字段=表名多.字段)

有两种办法:

第一种方法是通过外键:

假设有两张表,

A表(AId,AName) B(BId,BName)表 ,要想把这两者关联起来的话。可以通过外键来关联,在B表或者A表中添加一个外键。这里就以B表把B(BId,AId(外键),BName),这样通过外键两张表就可以联系起来了,例如我们在查询的时候通过AId就可以关联查询两张表的数据了。

第二种方法就是增加一张表:

还是拿A表(AId,AName) B(BId,BName)表来举例把,

我们可以增加个C表来联系AB表之间的关系

C表中只要放AB表的主键就行了

C(AId,BId),这样我们就可以通过C表来关联AB表了。

呵呵


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6423243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存