繁体   English   中英

我应该使用哪种类型的联接?

[英]What type of join should I use?

我的加盟知识很糟糕,为此我找不到正确的知识。 我想加入TableA.userID和TableB.otherID上的两个表以匹配所需的输出。 我桌上没有任何外键或主键。 我应该在这里使用什么?

TableA:
+--------+--------+---------+
| userID | field1 | field2  |
+--------+--------+---------+

TableB:
+--------+----------+---------+---------+---------+
| userID | otherID  | myData1 | myData2 | myData3 | 
+--------+----------+---------+---------+---------+

Desired Output:
+--------+----------+---------+---------+---------+--------+--------+
| userID | otherID  | myData1 | myData2 | myData3 | field1 | field2 |
+--------+----------+---------+---------+---------+--------+--------+

应该这样做:

select a.userID, b.otherID, b.myData1, b.myData2, b.myData3, a.field1, a.field1
from TableA a
inner join TableB b
on a.userID = b.otherID

我建议在TableA.userID和TableB.otherID上添加索引。

也许我误解了这个问题,但是假设USERID和OTHERID都是相同的数据类型,并且您不需要执行任何数据转换,您是否不能仅使用简单的INNER JOIN。

SELECT A.userID, B.otherID, B.myData, B.myData2, B.myData3, A.field1, A.field2
FROM   TableA as A
       INNER JOIN TableB as B
       ON A.UserId = B.OtherId

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM