mysql:从相关表获取数据

628mspwn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(365)

我正在寻找帮助,从mysql中的相关表获取和显示信息。我有两张table:
“table1”中包含id、姓名和姓氏列
“table2”带有列id,phone
它们由id列关联。
我试着把名字,姓氏和电话显示在一起。我现在用的是:
从table1、table2中选择姓名、姓氏和电话,其中table1.id=table2.id
但是,我觉得我没有正确地使用表之间的关系,因为我相信这也会在不相关的表之间起作用。
而且,并非表1中的每个id都在表2中有记录,这意味着并非每个人都有电话号码。上面的方法只显示表1和表2中存在的id,而我想显示那些没有电话号码的id的数据,在电话栏中用空格或“n/a”表示。
任何关于如何正确显示数据的提示都非常感谢。

ni65a41a

ni65a41a1#

你需要使用 LEFT OUTER JOIN 语句将两个表连接在一起。 LEFT OUTER JOIN 仍将显示来自 table1 即使没有匹配 idtable2 . 比如:

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

相关问题