从一个表中的user_id列获取另一个表的用户信息的最佳方法是什么?

时间:2018-04-08 17:31:48

标签: sql

我正在尝试创建一个博客流,它将以十个为一组加载帖子。目前,我的帖子架构包含一个名为“AUTHOR_ID”的列,该列引用创建帖子的作者的用户ID。如果作者的名称发生更改,则会在加载流时更新。

我的问题是根据帖子表中的AUTHOR_ID从另一个用户表加载作者姓名的最有效方法是什么?

我的第一个想法是使用UNION,但考虑到它们没有相同数量的列,我似乎无法找到这样做的方法。第二个选项是只为每个加载的帖子运行查询,但我觉得这样效率很低。

你有什么想法?谢谢!

1 个答案:

答案 0 :(得分:0)

您不能共享数据库。我怀疑这是重复但我找不到它。您正在描述外键。

Author table 
ID int primary key 
Name varchar(100)

Post table 
authorID int FK to Author.ID 
post varchar(max)  

select a.name, p.post 
from author a  
join post p 
     on p.authorID = a.ID