MySQL Query从两个表中检索数据,甚至没有在第二个表中找到的数据

时间:2012-02-15 08:14:01

标签: mysql join

我想从两个表中获取数据,即使第二个表没有数据也是如此。我需要没有数据的空值。

例如表1包含字段

  • ID
  • 名称
  • 密码

表2有

  • id(外键引用表1中的id)
  • F1
  • F2
  • f3

某些时间表2没有特定用户的值。为此,我需要空值。

这里我给出了样本输入和预期输出

table1
id name password
1  nam1  pass1
2  nam2  pass2

table 2
id f1 f2 f3
1   1  2  3

sample output
id name password f1 f2 f3
1  nam1  pass1   1  2  3
2  nam2  pass2   null null null

我需要一个查询来获取数据。

2 个答案:

答案 0 :(得分:6)

SELECT

需要LEFT JOIN

示例查询将如下:

SELECT 
    table1.id,table1.name,table1.password,table2.f1,
    table2.f2,table2.f3 
FROM table1 
LEFT JOIN table2 
ON table1.id=table2.id

答案 1 :(得分:1)

http://www.w3schools.com/sql/sql_join_left.asp

您希望查看左连接和右连接