MySQL:从相关表中获取数据

时间:2018-05-22 21:17:41

标签: php mysql search relationship display

我正在寻找帮助从MySQL中的相关表中获取和显示信息。我有两张桌子:

  1. “table1”,列id,姓名,姓氏
  2. “table2”,列id,电话
  3. 它们与id列相关联。

    我正在尝试一起显示姓名,姓名和电话。我目前使用的是:

      

    SELECT name,surname,phone FROM table1,table2 WHERE table1.id = table2.id

    但是,我觉得我没有正确使用表之间的关系,因为我相信这也会在不相关的表之间起作用。

    此外,并非table1中的每个id都在table2中有一条记录,这意味着不是每个人都有一个电话号码。上面的方法导致只显示table1和table2中存在的那些id,而我想显示那些没有电话号码的数据,无论是空格还是电话栏中的“N / A”。

    非常感谢有关如何正确显示数据的任何提示。

1 个答案:

答案 0 :(得分:1)

您需要使用LEFT OUTER JOIN语句将两个表连接在一起。即使LEFT OUTER JOIN中没有匹配的table1id仍会显示table2的记录。类似的东西:

SELECT
    table1.name,
    table1.surname,
    table2.phone
FROM table1
LEFT OUTER JOIN table2
ON table1.id = table2.id

更多信息:https://www.w3schools.com/sql/sql_join_left.asp