使用SQL查询合并两个数据集

时间:2018-04-05 13:54:40

标签: mysql sql database

我正在使用一个有两个不同表的数据库。 1表示默认字段,1表示用户添加的字段,它导致我需要将这些数据拆分到这两个表中。

SELECT * FROM table1

结果:

[0] {id: 1, firstname: 'John', lastname: 'Smith'}
[1] {id: 2, firstname: 'Michael', lastname:'Jones'}
...
[99] {id: 100, firstname: 'Jerry', lastname:'Brown'}

SELECT * FROM table2

结果:

[0] {id: 1, favoriteColor: 'Blue'}
[1] {id: 2, favoriteColor: 'Yellow'}
...
[99] {id: 100, favoriteColor: 'Green'}

我想将两个数据集合并为1,包含所有信息:id,firstname,lastname和favoriteColor。

我知道如何使用2个不同的查询并在结果上运行php / js脚本。但是我很确定只有一种SQL查询可以做到这一点,这种方式更有效。

3 个答案:

答案 0 :(得分:2)

您可以使用join概念如下:

SELECT t1.id, 
       t1.firstname, 
       t1.lastname,
       t2.favoriteColor 
FROM table1 t1 
INNER JOIN table2 t2 
ON t1.id=t2.id

答案 1 :(得分:2)

使用INNER JOIN查询:

SELECT table1.id, table1.firstname, table1.lastname, table2.favoriteColor 
FROM table1 INNER JOIN table2 ON table1.id = table2.id

答案 2 :(得分:1)

在您的情况下,您实际上可以使用以下任何联接:

join

inner join

left join

这里有一个非常好的解释:http://www.sql-join.com/sql-join-types/

希望这会对你有帮助!