gpt4 book ai didi

mysql - 如何在mysql中将两个大表合并为一个

转载 作者:行者123 更新时间:2023-11-29 02:03:41 26 4
gpt4 key购买 nike

我有一 table 人

    Name  Id            Age Sex  Country    
Ankit ankitgautam24 17 M India
John john321 71 M France
Will willsmith 42 M USA
Arti artisingh 67 F Pakistan
.....3.5 million records......

还有一个表限制

Country        Sex      Allow
France F Allowed
France M Restricted
India F Restricted
India M Allowed
Pakistan F Restricted
....for each country ......

现在我想把它转换成Useraccount表,其结构应该是

    Name  Id            Age Sex  Country  Allow   
Ankit ankitgautam24 17 M India Allowed
John john321 71 M France Restricted
Will willsmith 42 M USA Allowed
Arti artisingh 67 F Pakistan Allowed
.....hundreds of thousands of record......

以最聪明的方式将这两个表连接到一个表的正确查询是什么

最佳答案

您需要的只是一个简单明了的JOIN,而且不会花费太多时间:

SELECT p.Name, p.Id, p.Age, p.Sex, p.Country,
r.Allow
FROM People p
INNER JOIN Restriction r ON p.Country = r.Country

JOIN 此处将是执行此操作的更有效方法,但为了使其更有效,而不是在 Country name 上连接两个表,你会更好添加 CountryID 并将它们加入此列。所以你的表 People 应该是这样的:

  • 姓名
  • Id
  • 年龄
  • CountryId 约束外键引用Restrictions表(CountryId)。

限制表:

  • 国家/地区 ID
  • IsAllwoed

关于mysql - 如何在mysql中将两个大表合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10266212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com