gpt4 book ai didi

php - mysql(i) : Selecting data from multiple tables?

转载 作者:行者123 更新时间:2023-11-29 08:59:56 25 4
gpt4 key购买 nike

假设我有两张 table 。第一个保存用户 ID 和他们的名字。第二个表保存用户 ID 及其姓氏,但该表中的行可能存在也可能不存在,具体取决于用户是否给出了姓氏。

我想同时选择名字和姓氏,但如果只有名字存在,则只需单独选择它。

我不能使用这样的东西,因为如果第二个表行不存在,那么它不会返回任何内容:

$db->query("select firstname.fname, lastname.lname from firstname, lastname where firstname.userid = lastname.userid");

谢谢。

最佳答案

SELECT f.fname, l.lname
FROM firstname f
LEFT JOIN lastname l
ON f.userid = l.userid

这将返回类似以下内容:

fname | lname
John | Doe
Bob | NULL

其中 NULL 表示 Bob 没有姓氏

JOIN 比您在示例中使用的笛卡尔积更具性能,因为它不会生成 {firstame,lastname} 的所有可能组合,而只会生成这些组合这是有道理的(具有相同用户ID的)

关于php - mysql(i) : Selecting data from multiple tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com