2016-01-23 61 views
0

我有两个表:哪个MySQL加入以及如何...?

表1包含的用户ID

表2包含的用户ID和其它数据我想

的关系是在两个表中的ID,因此我会喜欢做如下:

拉都从其中记录在表2中,在表匹配的ID的ID字段中存在表2中的数据1。

表1具有其他副本,以便吨o说特定于其他帐户,而表2包含所有其他表的所有ID这就是为什么(我认为)我需要一个JOIN语句,但我愿意提供建议。

表1:

id 
123456 

表2:

SELECT * 
FROM table2 
WHERE ID IN (SELECT ID 
      FROM table1) 

如果需要从表1以及随后使用一个内连接领域:

id  | name | age 
123456 | John | 23 
651123 | Mary | 22 
811561 | Sarah | 21 

回答

0

,你可以使用子查询如:

SELECT t1.*, t2.name, t2.age 
FROM table1 t1 INNER JOIN table2 t2 
ON t1.id = t2.id 
0

你的假设是正确的,你需要加入:

Select * from table1 inner join table2 on table1.userid = table2.userid 

这里唯一的问题是,如果你想获得出现在两个表(而不是使用inner join)或也得到这样不仅只出现ID的上以及(左连接)的第一个表

0

你应该选择内部联接在这里,因为表2中始终包含记录表1

0

您可以使用INNER JOIN这里监守你有两个之间的关系表,查询应该是这样的:

SELECT t1.id, t2.name, t2.age 
FROM table1 t1 
INNER JOIN table2 t2 ON t1.id = t2.id 
相关问题