首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合并两个大型数据表

问合并两个大型数据表
EN

Stack Overflow用户
提问于 2013-05-29 16:16:55
回答 1查看 65关注 0票数 0

我们有两个表,我想获得结果表(如下所示)。我们尝试这个SQL...

代码语言:javascript
复制
select table2.CUI_1, table1.STR, table2.CUI_1, table.STR from table1 , table2 
where table2.CUI1 in (select table.cui from table2)
and table2.CUI2 in (select table1.cui from table1)

但是它的效率太低( table1和表2包含百万条记录),并且可能不能正确响应。对于这个请求,SQL是什么?

非常感谢

代码语言:javascript
复制
table1:  
|CUI|STR|  
|1  | Hi|  
|2  | Ho|  

table2:  
|CUI_1|CUI_2|  
|100  |    1|  
|102  |    2|  
|1    |    2|  

result_table  
|CUI_1|STR|CUI_2|STR|  
|1    | Hi|    2| Ho|
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-29 16:22:22

尝试使用JOIN,它比使用2个子查询效率高得多:

代码语言:javascript
复制
SELECT
    t2.CUI_1,
    t11.STR,
    t2.CUI_2,
    t12.STR
FROM 
    table2 t2
INNER JOIN table1 t11
    ON t11.CUI = t2.CUI_1
INNER JOIN table1 t12
    ON t12.CUI = t2.CUI_2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16808730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档