我正在寻找帮助从MySQL中的相关表中获取和显示信息。我有两张桌子:
它们与id列相关联。
我正在尝试一起显示姓名,姓名和电话。我目前使用的是:
SELECT name,surname,phone FROM table1,table2 WHERE table1.id = table2.id
但是,我觉得我没有正确使用表之间的关系,因为我相信这也会在不相关的表之间起作用。
此外,并非table1中的每个id都在table2中有一条记录,这意味着不是每个人都有一个电话号码。上面的方法导致只显示table1和table2中存在的那些id,而我想显示那些没有电话号码的数据,无论是空格还是电话栏中的“N / A”。
非常感谢有关如何正确显示数据的任何提示。
答案 0 :(得分:1)
您需要使用LEFT OUTER JOIN
语句将两个表连接在一起。即使LEFT OUTER JOIN
中没有匹配的table1
,id
仍会显示table2
的记录。类似的东西:
SELECT
table1.name,
table1.surname,
table2.phone
FROM table1
LEFT OUTER JOIN table2
ON table1.id = table2.id