从所有表中具有相同主键的多个表中获取数据

时间:2013-01-17 03:50:49

标签: mysql sql select join

我有4个表都具有相同的主键,其结构如下:

table_1 : u_id | col1 | col2    

table_2 : u_id | col3 | col4     

table_3 : u_id | col5 | col6    

table_4 : u_id | col7 |  col8

我想根据"col1", "col4", "col6" and "col7"的值获取u_id的数据。

u_id的值在每个表中都相同。

例如。如果u_id='8',则获取u_id='8'的所有指定列值。

我猜我没有正确使用连接。

感谢。

2 个答案:

答案 0 :(得分:9)

这应该是非常直截了当的。使用INNER JOIN

SELECT  a.col1, b.col4, c.col6, d.col7
FROM    table1 a
        INNER JOIN table2 b
            ON a.u_id = b.uid
        INNER JOIN table3 c
            ON a.u_id = c.uid
        INNER JOIN table4 d
            ON a.u_id = d.uid
WHERE   a.u_ID = 8

要了解有关联接的更多信息,请参阅以下文章。

答案 1 :(得分:1)

SELECT 
table_1.col1, 
table_2.col4, 
table_3.col6, 
table_4.col7 
FROM
table_1,
table_2,
table_3,
table_4
WHERE
table_1.u_id = '8' AND
table_1.u_id = table_2.u_id AND
table_1.u_id = table_3.u_id AND
table_1.u_id = table_4.u_id