SQL server怎么关联2张数据库表

时间:2022-02-06 05:03:55
  例如把新闻存储在一张表里,将每个新闻下面的评论单独存储,怎么将2张表关联起来

7 个解决方案

#1


外键?

#2


引用 1 楼  的回复:
外键?

能说详细点吗

#3


其实也不用外键,  比如:

表A,   
字段:
id  int
sid  int (表B 用来关联的字段)

表B,
字段:
id  int (表A  sid字段  用来关联表A的)
....

用法:

select  *  from  表A   left  join  表B   on   表A.sid=表B.id

也可以这样

select  (select 字段  from  表B  where  表B.id=表A.sid)
from  表A





   

#4


就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

#5


引用 4 楼  的回复:
就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

假如有10条新闻,是把所有评论放在一张表,还是一条新闻对应一张表,也就是说有10张表?

#6


引用 4 楼  的回复:
就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

其实也就是在评论表里加个新闻表的主键,而这个主键也就相当于评论表的外键

#7


引用 3 楼  的回复:
其实也不用外键, 比如:

表A,  
字段:
id int
sid int (表B 用来关联的字段)

表B,
字段:
id int (表A sid字段 用来关联表A的)
....

用法:

select * from 表A left join 表B on 表A.sid=表B.id

也可以这样

select (select 字段 from 表B wher……

似乎明白了,所有的评论放在一张表里面,用id区别.如果有成千上万条评论,不知道查询速度会不会很慢

#1


外键?

#2


引用 1 楼  的回复:
外键?

能说详细点吗

#3


其实也不用外键,  比如:

表A,   
字段:
id  int
sid  int (表B 用来关联的字段)

表B,
字段:
id  int (表A  sid字段  用来关联表A的)
....

用法:

select  *  from  表A   left  join  表B   on   表A.sid=表B.id

也可以这样

select  (select 字段  from  表B  where  表B.id=表A.sid)
from  表A





   

#4


就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

#5


引用 4 楼  的回复:
就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

假如有10条新闻,是把所有评论放在一张表,还是一条新闻对应一张表,也就是说有10张表?

#6


引用 4 楼  的回复:
就是表之间是一对多的关系,建立两个表,新闻表里有一个编号,评论表里有要有新闻的编号做字段。
新闻表里的编号与新闻评论里的新闻编号关链就好了。

其实也就是在评论表里加个新闻表的主键,而这个主键也就相当于评论表的外键

#7


引用 3 楼  的回复:
其实也不用外键, 比如:

表A,  
字段:
id int
sid int (表B 用来关联的字段)

表B,
字段:
id int (表A sid字段 用来关联表A的)
....

用法:

select * from 表A left join 表B on 表A.sid=表B.id

也可以这样

select (select 字段 from 表B wher……

似乎明白了,所有的评论放在一张表里面,用id区别.如果有成千上万条评论,不知道查询速度会不会很慢