我目前有一个包含以下列的通用Users
表
user_id
first_name
last_name
join_date
last_active
email
password
rank
status
有些用户(排名为3的用户)会提供一些额外的信息,如电话号码,辅助电子邮件,生日等(共15个字段)。我想知道是否应该在这个表上添加这些列,或者是否应该创建另一个表并使用user_id与Users
连接。像这样:
user_id
all new columns
哪一个是最佳选择?
答案 0 :(得分:0)
这两种方法是可行的。
从两个表中获取所有列:
SELECT t1.*, t2.*
FROM t1
LEFT JOIN t2 USING(user_id);
我假设t2中的行有时会丢失,但是你想得到行,NULLs
表示缺少的数据 - 因此LEFT JOIN
。
当然,如果您知道自己不需要t2,请不要执行JOIN
。但是,总是在做JOIN
。
这是"最佳选择"?如果不了解更多关于你的系统的话,这很难说。但是,根据你提到的信息,它似乎是一个很好的'选项。